[svn:parrot] r47333 - branches/gc_massacre/src/gc

bacek at svn.parrot.org bacek at svn.parrot.org
Thu Jun 3 10:32:37 UTC 2010


Author: bacek
Date: Thu Jun  3 10:32:37 2010
New Revision: 47333
URL: https://trac.parrot.org/parrot/changeset/47333

Log:
Skip marking already live or dead objects.

Modified:
   branches/gc_massacre/src/gc/gc_tms.c

Modified: branches/gc_massacre/src/gc/gc_tms.c
==============================================================================
--- branches/gc_massacre/src/gc/gc_tms.c	Thu Jun  3 10:32:05 2010	(r47332)
+++ branches/gc_massacre/src/gc/gc_tms.c	Thu Jun  3 10:32:37 2010	(r47333)
@@ -771,8 +771,8 @@
     TriColor_GC      *self = (TriColor_GC *)interp->gc_sys->gc_private;
     List_Item_Header *item = Obj2LLH(pmc);
 
-    /* Object was already marked as grey. Skip it */
-    if (PObj_grey_TEST(pmc))
+    /* Object was already marked as grey. Or live. Or dead. Skip it */
+    if (PObj_grey_TEST(pmc) || PObj_is_live_or_free_TESTALL(pmc))
         return;
 
     PObj_grey_SET(pmc);


More information about the parrot-commits mailing list