Nicholas Clark <[EMAIL PROTECTED]> wrote: > I have evidence that DOD runs can miss noticing local variable pointers to > live objects on x86 Linux. This is happening while running ponie, but > the problem is during a single call to string_make. The gdb traces are from > a copy of the parrot source code which has had a few debugging printf()s and > static variables added, but the problem shows up with vanilla parrot source > code.
Please set a breakpoint at dod.c:trace_mem_block, which should be called by the stack walking code. The variables lo_var_ptr and hi_var_ptr should be set and contain the auto variable on stack. Do you have a test for Parrot showing this behavior? > PS It's occurred to me that this constant calling of Parrot_PMC_typenum without > caching (or precomputing) the result is woefully inefficient, Yep. It's a hash lookup. Just run it during ponie init, remember the types you are interested in and use Parrot_PMC_new(). leo