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

bacek at svn.parrot.org bacek at svn.parrot.org
Mon May 31 23:41:40 UTC 2010


Author: bacek
Date: Mon May 31 23:41:40 2010
New Revision: 47241
URL: https://trac.parrot.org/parrot/changeset/47241

Log:
Add commented out precise check in GC.is_pmc_ptr

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	Mon May 31 23:40:55 2010	(r47240)
+++ branches/gc_massacre/src/gc/gc_tms.c	Mon May 31 23:41:40 2010	(r47241)
@@ -784,9 +784,23 @@
 {
     ASSERT_ARGS(gc_tms_is_pmc_ptr)
     TriColor_GC      *self = (TriColor_GC *)interp->gc_sys->gc_private;
+    List_Item_Header *item = (List_Item_Header *)ptr;
     if (!ptr || !Obj2LLH(ptr))
         return 0;
-    return Parrot_gc_pool_is_owned(self->pmc_allocator, Obj2LLH(ptr));
+    if (!Parrot_gc_pool_is_owned(self->pmc_allocator, Obj2LLH(ptr)))
+        return 0;
+
+    /* Pool.is_owned isn't precise enough (yet) */
+    /*
+    if (Parrot_gc_list_is_owned(interp, self->grey_objects, item))
+        return 1;
+    if (Parrot_gc_list_is_owned(interp, self->dead_objects, item))
+        return 1;
+    if (Parrot_gc_list_is_owned(interp, self->objects, item))
+        return 1;
+    return 0;
+    */
+    return 1;
 }
 
 static void


More information about the parrot-commits mailing list