I had thought this field was being used, but it turns out to be
irrelevant.  I offer this patch so that no one else is fooled (and
because I had to test it anyway to prove that this is the case).

                                        -- Bob Rogers
                                           http://rgrjr.dyndns.org/

Index: include/parrot/interpreter.h
===================================================================
--- include/parrot/interpreter.h        (revision 11187)
+++ include/parrot/interpreter.h        (working copy)
@@ -169,7 +169,7 @@
 
 typedef struct Parrot_Context {
     /* common header with Interp_Context */
-    struct Parrot_Context *prev;
+    struct Parrot_Context *unused1;    /* placeholder */
     Regs_ni                bp;          /* pointers to FLOATVAL & INTVAL */
     Regs_ps                bp_ps;       /* pointers to PMC & STR */
     /* end common header */
Index: src/register.c
===================================================================
--- src/register.c      (revision 11187)
+++ src/register.c      (working copy)
@@ -416,7 +416,6 @@
     }
     CONTEXT(interpreter->ctx) = ctx = ptr;
     ctx->regs_mem_size = reg_alloc;
-    ctx->prev = old;
     ctx->n_regs_used = old->n_regs_used;
     diff = (long*)ctx - (long*)old;
     interpreter->ctx.bp.regs_i += diff;
@@ -471,7 +470,6 @@
     fprintf(stderr, "alloc %p\n", ptr);
 #endif
     CONTEXT(interpreter->ctx) = ctx = ptr;
-    ctx->prev = old;
     ctx->regs_mem_size = reg_alloc;
     ctx->n_regs_used = n_regs_used;
     /* regs start past the context */
Index: src/debug.c
===================================================================
--- src/debug.c (revision 11187)
+++ src/debug.c (working copy)
@@ -2823,7 +2823,7 @@
         /* get the next Continuation */
         ctx = PMC_cont(sub)->to_ctx;
         old = sub;
-        if (!ctx || !ctx->prev)
+        if (!ctx)
             break;
     }
     if (rec_level != 0) {

Reply via email to