cvsuser 03/02/01 05:34:19
Modified: classes eval.pmc
Log:
comment on code seg switch
Revision Changes Path
1.6 +8 -2 parrot/classes/eval.pmc
Index: eval.pmc
===================================================================
RCS file: /cvs/public/parrot/classes/eval.pmc,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -w -r1.5 -r1.6
--- eval.pmc 22 Jan 2003 15:56:52 -0000 1.5
+++ eval.pmc 1 Feb 2003 13:34:19 -0000 1.6
@@ -1,7 +1,7 @@
/* Eval.pmc
* Copyright: (When this is determined...it will go here)
* CVS Info
- * $Id: eval.pmc,v 1.5 2003/01/22 15:56:52 leo Exp $
+ * $Id: eval.pmc,v 1.6 2003/02/01 13:34:19 leo Exp $
* Overview:
* These are the vtable functions for evaluating a code segment
* Data Structure and Algorithms:
@@ -29,7 +29,8 @@
((struct Parrot_Sub *)SELF->data)->init;
if (pad) {
- /* put the correct pad in place */
+ /* put the correct pad in place
+ * XXX leo: do we need this? */
stack_push(INTERP, &INTERP->ctx.pad_stack, pad,
STACK_ENTRY_PMC, STACK_CLEANUP_NULL);
}
@@ -48,6 +49,11 @@
PIO_eprintf(interpreter, "*** back from %s\n",
eval_cs->base.name);
}
+ if (pad)
+ stack_pop(interpreter, &interpreter->ctx.pad_stack,
+ NULL, STACK_ENTRY_PMC);
+ /* if code jumped to different code segment, go out of runloop
+ * which then actually will switch segments */
if (interpreter->resume_flag & 2)
next = 0;
else