[svn:parrot] r49670 - branches/generational_gc/src/gc

bacek at svn.parrot.org bacek at svn.parrot.org
Mon Oct 25 10:32:39 UTC 2010


Author: bacek
Date: Mon Oct 25 10:32:39 2010
New Revision: 49670
URL: https://trac.parrot.org/parrot/changeset/49670

Log:
Don't validate dead objects.

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 25 08:32:11 2010	(r49669)
+++ branches/generational_gc/src/gc/gc_ms2.c	Mon Oct 25 10:32:39 2010	(r49670)
@@ -965,13 +965,15 @@
         while (tmp) {
             PMC *pmc = LLH2Obj_typed(tmp, PMC);
 
-            pmc->flags |= PObj_GC_generation_2_FLAG;
+            if (PObj_live_TEST(pmc)) {
+                pmc->flags |= PObj_GC_generation_2_FLAG;
 
-            if (PObj_custom_mark_TEST(pmc))
-                VTABLE_mark(interp, pmc);
+                if (PObj_custom_mark_TEST(pmc))
+                    VTABLE_mark(interp, pmc);
 
-            if (PMC_metadata(pmc))
-                Parrot_gc_mark_PMC_alive(interp, PMC_metadata(pmc));
+                if (PMC_metadata(pmc))
+                    Parrot_gc_mark_PMC_alive(interp, PMC_metadata(pmc));
+            }
 
             tmp = tmp->next;
         }


More information about the parrot-commits mailing list