[svn:parrot] r49510 - branches/generational_gc/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon Oct 11 08:54:03 UTC 2010
Author: bacek
Date: Mon Oct 11 08:54:03 2010
New Revision: 49510
URL: https://trac.parrot.org/parrot/changeset/49510
Log:
"Remark" objects from current generation during propagate. We do need to
bring all related objects into current 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 11 08:53:40 2010 (r49509)
+++ branches/generational_gc/src/gc/gc_ms2.c Mon Oct 11 08:54:03 2010 (r49510)
@@ -1352,14 +1352,14 @@
|| !"Attempt to mark dead object");
/* Objects from older generation will stay */
- if (gen >= self->current_generation)
+ if (gen > self->current_generation)
return;
/* "Constant"... */
if (pmc->flags & PObj_constant_FLAG)
return;
- if (gen == self->current_generation && pmc->flags & PObj_GC_generation_2_FLAG)
+ if ((gen == self->current_generation) && (pmc->flags & PObj_GC_generation_2_FLAG))
return;
LIST_REMOVE(self->objects[gen], item);
@@ -1367,8 +1367,9 @@
pmc->flags &= ~(PObj_GC_generation_0_FLAG
| PObj_GC_generation_1_FLAG
| PObj_GC_generation_2_FLAG);
- pmc->flags |= generation_to_flags(self->current_generation)
- | PObj_GC_generation_2_FLAG;
+ pmc->flags |= generation_to_flags(self->current_generation);
+
+ pmc->flags |= PObj_GC_generation_2_FLAG;
}
static void
@@ -1381,7 +1382,7 @@
PARROT_ASSERT(item->owner == self->strings[gen]);
/* Objects from older generation will stay */
- if (gen >= self->current_generation)
+ if (gen > self->current_generation)
return;
/* "Constant"... */
More information about the parrot-commits
mailing list