The first cut at native call stuff via thunks is in. It is kind of
working, but
the test I'm using (a translation of acme's life.pasm) isn't working yet,
and when I try to debug by watching parrot -t, it behaves differently
than otherwise (Heisenbug!).
Along the way, I added some argument count checking, and now
calls to subs have the args converted to the appropriate types if
they aren't already.
Regards,
-- Gregor
Cool. I'll have to get shared library loading completely working here
on OS X and track down the problem with native calls, but...
--
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
d...@sidhe.org have teddy bears and even
teddy bears get drunk
> Dan --
>
> The first cut at native call stuff via thunks is in. It is kind of
> working, but
> the test I'm using (a translation of acme's life.pasm) isn't working yet,
> and when I try to debug by watching parrot -t, it behaves differently
> than otherwise (Heisenbug!).
To say it exactly: a GC bug, which, when traced is different because
tracing consumes resources.
I'll look into it.
> Regards,
>
> -- Gregor
leo
> Dan --
>
> The first cut at native call stuff via thunks is in. It is kind of
> working, but
> the test I'm using (a translation of acme's life.pasm) isn't working yet,
> and when I try to debug by watching parrot -t, it behaves differently
> than otherwise (Heisenbug!).
I have now (hopefully) reduced the Heisenbug aka GC bug to a more
specific simple memory leak. life-curses.pasm runs now with --gc-debug
some more rounds [1].
[1] imcc segfaults after running more then ~30 generations at the end,
but does finish 5000 gens as well as parrot does - without segfaults.
Dan do you remember my first answer WRT nci and strings - now you now why.
leo
> Dan --
>
> The first cut at native call stuff via thunks is in. It is kind of
> working, but
> the test I'm using (a translation of acme's life.pasm) isn't working yet,
> and when I try to debug by watching parrot -t, it behaves differently
> than otherwise (Heisenbug!).
I have now (hopefully) reduced the Heisenbug aka GC bug to a more
I don't, but I have a few ideas as to what it was. :)
I know that the C string issue is going to be a problem, and I've
never liked the fact that our toCstring function modified the
original. Now it doesn't, and we've rather a lot of places to go fix
up because of it...