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

bacek at svn.parrot.org bacek at svn.parrot.org
Sat Jun 5 00:12:10 UTC 2010


Author: bacek
Date: Sat Jun  5 00:12:09 2010
New Revision: 47364
URL: https://trac.parrot.org/parrot/changeset/47364

Log:
Sweep strings pool.

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

Modified: branches/gc_massacre/src/gc/gc_ms2.c
==============================================================================
--- branches/gc_massacre/src/gc/gc_ms2.c	Sat Jun  5 00:11:58 2010	(r47363)
+++ branches/gc_massacre/src/gc/gc_ms2.c	Sat Jun  5 00:12:09 2010	(r47364)
@@ -684,24 +684,8 @@
         Parrot_gc_trace_root(interp->pdb->debugger, NULL, (Parrot_gc_trace_type)0);
     }
 
-
-    tmp = self->objects->first;
-    counter = 0;
-    while (tmp) {
-        List_Item_Header *next = tmp->next;
-        PObj             *obj  = LLH2Obj_typed(tmp, PObj);
-        if (PObj_live_TEST(obj)) {
-            /* Paint live objects white */
-            PObj_live_CLEAR(obj);
-        }
-        else if (!PObj_constant_TEST(obj)) {
-            PObj_on_free_list_SET(obj);
-            LIST_REMOVE(self->objects, obj);
-            Parrot_gc_pool_free(self->pmc_allocator, obj);
-        }
-        tmp = next;
-        ++counter;
-    }
+    gc_ms2_sweep_pool(interp, self->pmc_allocator, self->objects);
+    gc_ms2_sweep_pool(interp, self->string_allocator, self->strings);
 
     self->header_allocs_since_last_collect = 0;
     self->gc_mark_block_level--;


More information about the parrot-commits mailing list