[svn:parrot] r38648 - trunk/src/pmc

Infinoid at svn.parrot.org Infinoid at svn.parrot.org
Sat May 9 15:28:52 UTC 2009


Author: Infinoid
Date: Sat May  9 15:28:52 2009
New Revision: 38648
URL: https://trac.parrot.org/parrot/changeset/38648

Log:
[PMC] According to masak++, r38577 causes a SIGBUS on darwin.
The code in question has two code paths: one optimized path that recycles RetContinuations, and the normal path which doesn't.
The r38577 commit log suggests that the optimized path was enabled in all cases.  But in reality, *both* paths were being executed.
This patch disables the non-optimized path.  I can't tell you why this fixes it, but apparently it does.

Modified:
   trunk/src/pmc/retcontinuation.pmc

Modified: trunk/src/pmc/retcontinuation.pmc
==============================================================================
--- trunk/src/pmc/retcontinuation.pmc	Sat May  9 15:28:47 2009	(r38647)
+++ trunk/src/pmc/retcontinuation.pmc	Sat May  9 15:28:52 2009	(r38648)
@@ -108,13 +108,6 @@
             pool->add_free_object(interp, pool, (PObj *)SELF);
             pool->num_free_objects++;
         }
-        cc->from_ctx = NULL;
-
-        /*
-         * the to_ctx is marked in Continuation.mark
-         * NULLify it or turn off the custom_mark bit
-         */
-        cc->to_ctx = NULL;
 
         if (INTERP->code != seg)
             Parrot_switch_to_cs(INTERP, seg, 1);


More information about the parrot-commits mailing list