[svn:parrot] r49567 - branches/generational_gc/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon Oct 18 11:57:02 UTC 2010
Author: bacek
Date: Mon Oct 18 11:57:02 2010
New Revision: 49567
URL: https://trac.parrot.org/parrot/changeset/49567
Log:
Use GC_gen_2 flag during validation.
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:32:26 2010 (r49566)
+++ branches/generational_gc/src/gc/gc_ms2.c Mon Oct 18 11:57:02 2010 (r49567)
@@ -870,11 +870,20 @@
/* It can be our first move to this generation */
List_Item_Header *tmp = self->objects[i]->first;
+ while (tmp) {
+ PMC *pmc = LLH2Obj_typed(tmp, PMC);
+ pmc->flags &= ~PObj_GC_generation_2_FLAG;
+ tmp = tmp->next;
+ }
+
/* We are "marking" this generation */
self->current_generation = i;
while (tmp) {
PMC *pmc = LLH2Obj_typed(tmp, PMC);
+
+ pmc->flags |= PObj_GC_generation_2_FLAG;
+
if (PObj_custom_mark_TEST(pmc))
VTABLE_mark(interp, pmc);
@@ -900,6 +909,9 @@
PARROT_ASSERT(pobj2gen(pmc) == self->current_generation
|| !"Got object from wrong generation");
+
+ pmc->flags |= PObj_GC_generation_2_FLAG;
+
if (PObj_custom_mark_TEST(pmc))
VTABLE_mark(interp, pmc);
}
More information about the parrot-commits
mailing list