[svn:parrot] r40681 - branches/context_pmc2/src/pmc

bacek at svn.parrot.org bacek at svn.parrot.org
Thu Aug 20 22:35:03 UTC 2009


Author: bacek
Date: Thu Aug 20 22:35:02 2009
New Revision: 40681
URL: https://trac.parrot.org/parrot/changeset/40681

Log:
[pmc] Reorder mark fields in Context.mark in order of declaration. Also mark result_signature.

Modified:
   branches/context_pmc2/src/pmc/context.pmc

Modified: branches/context_pmc2/src/pmc/context.pmc
==============================================================================
--- branches/context_pmc2/src/pmc/context.pmc	Thu Aug 20 21:42:44 2009	(r40680)
+++ branches/context_pmc2/src/pmc/context.pmc	Thu Aug 20 22:35:02 2009	(r40681)
@@ -85,35 +85,39 @@
         PObj *obj;
         int   i;
 
-        obj = (PObj *)ctx->current_sub;
+        obj = (PObj *)ctx->caller_ctx;
         if (obj)
             Parrot_gc_mark_PObj_alive(interp, obj);
 
-        obj = (PObj *)ctx->current_object;
+        obj = (PObj *)ctx->lex_pad;
         if (obj)
             Parrot_gc_mark_PObj_alive(interp, obj);
 
-        obj = (PObj *)ctx->current_cont;
-        if (obj && !PObj_live_TEST(obj))
+        obj = (PObj *)ctx->outer_ctx;
+        if (obj)
             Parrot_gc_mark_PObj_alive(interp, obj);
 
-        obj = (PObj *)ctx->caller_ctx;
+        obj = (PObj *)ctx->current_sub;
         if (obj)
             Parrot_gc_mark_PObj_alive(interp, obj);
 
-        obj = (PObj *)ctx->outer_ctx;
+        obj = (PObj *)ctx->handlers;
         if (obj)
             Parrot_gc_mark_PObj_alive(interp, obj);
 
-        obj = (PObj *)ctx->current_namespace;
+        obj = (PObj *)ctx->current_cont;
+        if (obj && !PObj_live_TEST(obj))
+            Parrot_gc_mark_PObj_alive(interp, obj);
+
+        obj = (PObj *)ctx->current_object;
         if (obj)
             Parrot_gc_mark_PObj_alive(interp, obj);
 
-        obj = (PObj *)ctx->lex_pad;
+        obj = (PObj *)ctx->current_namespace;
         if (obj)
             Parrot_gc_mark_PObj_alive(interp, obj);
 
-        obj = (PObj *)ctx->handlers;
+        obj = (PObj *)ctx->results_signature;
         if (obj)
             Parrot_gc_mark_PObj_alive(interp, obj);
 


More information about the parrot-commits mailing list