On 3 Mar 2004, at 08:09, Leopold Toetsch wrote: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().
All I do is PL_Parrot = Parrot_new(0) Parrot_init(PL_Parrot)
Are you saying I have to initialize PL_Parrot-> lo_var_ptr ? I cannot actually do that using the current extending API :/
Then we need to extend extending ;) or ...
What about calling Parrot_run_native(PL_Parrot, perl_main_wrapper)?
Arthur
leo