[svn:parrot] r49694 - branches/generational_gc/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Wed Oct 27 09:00:35 UTC 2010
Author: bacek
Date: Wed Oct 27 09:00:34 2010
New Revision: 49694
URL: https://trac.parrot.org/parrot/changeset/49694
Log:
seal root_objects back after processing and moving into particular
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 Wed Oct 27 07:57:16 2010 (r49693)
+++ branches/generational_gc/src/gc/gc_ms2.c Wed Oct 27 09:00:34 2010 (r49694)
@@ -738,10 +738,15 @@
tmp = self->root_objects->first;
while (tmp) {
List_Item_Header *next = tmp->next;
- PMC *pmc = LLH2Obj_typed(tmp, PMC);
+ PMC *pmc = LLH2Obj_typed(tmp, PMC);
+ size_t gen = PObj_to_generation(pmc);
LIST_REMOVE(self->root_objects, tmp);
- LIST_APPEND(self->objects[PObj_to_generation(pmc)], tmp);
+ LIST_APPEND(self->objects[gen], tmp);
+
+ /* Seal old objects back */
+ if (gen)
+ gc_ms2_seal_object(interp, pmc);
tmp = next;
}
More information about the parrot-commits
mailing list