[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