Author: Whiteknight
Date: Wed Jul 23 17:39:05 2008
New Revision: 29713

Modified:
   branches/gsoc_pdd09/src/gc/gc_it.c

Log:
[gsoc_pdd09] add additional trace checks in case items are added to the queue 
post-trace but pre-sweep. doesn't fix any bad tests

Modified: branches/gsoc_pdd09/src/gc/gc_it.c
==============================================================================
--- branches/gsoc_pdd09/src/gc/gc_it.c  (original)
+++ branches/gsoc_pdd09/src/gc/gc_it.c  Wed Jul 23 17:39:05 2008
@@ -425,6 +425,8 @@
     const Arenas * const arena_base   = interp->arena_base;
     Gc_it_data   * const gc_priv_data = (Gc_it_data *)arena_base->gc_private;
 
+    if(gc_priv_data->queue)
+        gc_it_trace(interp);
     gc_it_sweep_PMC_arenas(interp, gc_priv_data, arena_base->pmc_pool);
 }
 
@@ -533,6 +535,8 @@
     Gc_it_data   * const gc_priv_data = (Gc_it_data *)arena_base->gc_private;
     register INTVAL i;
 
+    if(gc_priv_data->queue)
+        gc_it_trace(interp);
     for (i = arena_base->num_sized - 1; i >= 0; i--) {
         Small_Object_Pool * const pool = arena_base->sized_header_pools[i];
         if (pool)

Reply via email to