Author: Whiteknight Date: Sun Aug 3 17:28:47 2008 New Revision: 29981 Modified: branches/gsoc_pdd09/include/parrot/smallobject.h branches/gsoc_pdd09/src/gc/gc_it.c
Log: [gsoc_pdd09] a few minor changes. We aren't hanging anymore, we're segfaulting now Modified: branches/gsoc_pdd09/include/parrot/smallobject.h ============================================================================== --- branches/gsoc_pdd09/include/parrot/smallobject.h (original) +++ branches/gsoc_pdd09/include/parrot/smallobject.h Sun Aug 3 17:28:47 2008 @@ -91,7 +91,7 @@ /* Switches and modes */ -# define GC_IT_DEBUG 0 +# define GC_IT_DEBUG 1 # define GC_IT_INCREMENT_MODE 0 # define GC_IT_BATCH_MODE 1 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 Sun Aug 3 17:28:47 2008 @@ -229,8 +229,6 @@ objects get destroyed. */ if (gc_lazy && !gc_force) return; - if (gc_force) - gc_priv_data->state = GC_IT_START_MARK; if (gc_finish) { # if GC_IT_DEBUG @@ -320,7 +318,7 @@ case GC_IT_SWEEP_BUFFERS: if (Parrot_is_blocked_GC_sweep(interp)) break; - //gc_it_sweep_sized_pools(interp); + gc_it_sweep_sized_pools(interp); gc_priv_data->state = GC_IT_FINAL_CLEANUP; GC_IT_BREAK_AFTER_6; @@ -388,7 +386,7 @@ gc_priv_data->item_count++; } # if GC_IT_DEBUG - fprintf(stderr, "Trace complete: %d", (gc_priv_data->queue == NULL)); + fprintf(stderr, "Trace complete: %d\n", (gc_priv_data->queue == NULL)); # endif PARROT_ASSERT(gc_priv_data->queue == NULL); } @@ -415,8 +413,7 @@ if (gc_priv_data->queue) gc_it_trace(interp); - //gc_it_sweep_PMC_arenas(interp, gc_priv_data, arena_base->pmc_pool); - gc_it_sweep_header_arenas(interp, gc_priv_data, arena_base->string_header_pool); + gc_it_sweep_PMC_arenas(interp, gc_priv_data, arena_base->pmc_pool); } @@ -441,7 +438,6 @@ up lists of our pools here, and handle different types differently. */ gc_it_finalize_PMC_arenas(interp, gc_priv_data, arena_base->pmc_pool); - gc_it_finalize_PMC_arenas(interp, gc_priv_data, arena_base->constant_pmc_pool); } @@ -1222,7 +1218,7 @@ /* If we're after the trace phase in our GC, we'll try to complete the run and look for new objects. If the GC run doesn't turn up new objects, allocate more. */ - while (gc_priv_data->state != GC_IT_READY) + while (gc_priv_data->state >= GC_IT_END_MARK) Parrot_gc_it_run(interp, 0); /* If we don't turn up enough new objects, this pool is pretty densly