[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