[svn:parrot] r49568 - branches/generational_gc/src/gc

bacek at svn.parrot.org bacek at svn.parrot.org
Mon Oct 18 11:57:13 UTC 2010


Author: bacek
Date: Mon Oct 18 11:57:13 2010
New Revision: 49568
URL: https://trac.parrot.org/parrot/changeset/49568

Log:
Avoid double processing of objects during gathering into same generation

Modified:
   branches/generational_gc/src/gc/gc_ms2.c

Modified: branches/generational_gc/src/gc/gc_ms2.c
==============================================================================
--- branches/generational_gc/src/gc/gc_ms2.c	Mon Oct 18 11:57:02 2010	(r49567)
+++ branches/generational_gc/src/gc/gc_ms2.c	Mon Oct 18 11:57:13 2010	(r49568)
@@ -844,6 +844,11 @@
         while (tmp) {
             PMC *pmc = LLH2Obj_typed(tmp, PMC);
 
+            /* Flag this object as already processed */
+            /* Otherwise we will pull it again if it's referenced */
+            /* by some other project further in list */
+            pmc->flags |= PObj_GC_generation_2_FLAG;
+
             /* mark can append more objects to this list */
             if (PObj_custom_mark_TEST(pmc))
                 VTABLE_mark(interp, pmc);


More information about the parrot-commits mailing list