On 3 May 2004, at 13:27, Leopold Toetsch wrote:


because the stacktop is not set! so what Parrot_runcode should do is in

{
if(!parrot->stacktop) {
set_stacktop

When you call C<app_x_run_plugin> from different locations, this wouldn't work. So the correct sequence is:

   app_x_run_plugin(...) {
       void stk;
       Parrot_init_stacktop(interp, &stk);
       Parrot_call(interp, the_sub, ...);
   }

Arthur


Not if you clear the stacktop if you set it in Parrot_call, I thought this was obvious so I left it out, but here we go.


parrot_call {
if(stacktop) {
 parrot_call_real
} else {
 set_stacktop
parrot_call_real
unset_stacktop
}
}




Reply via email to