Arthur Bergman <[EMAIL PROTECTED]> wrote:
> So today we managed to solve the problem.

> I wasn't aware that the Parrot DOD/GC would run even if I wasn't
> running any parrot bytecode, so when we started executing larger
> amounts of perl code, things got ugly because parrot was GCing from
> under our feet!

Do you initialize interpreter->lo_var_ptr? If you aren't entering any
runloop and this pointer isn't set, you will still have DOD bugs,
because the processor stack will not be marked properly.

You can set this pointer to the address of an automatic variable in main
(or wherever you construct Parrot_Interp) or follow the scheme used in
t/src/basic_3, i.e. run your code via Parrot_run_native().

> Cheers
> Arthur

leo

Reply via email to