diff --git a/src/gc/gc_ms.c b/src/gc/gc_ms.c index cc9aac2..aee7122 100644 --- a/src/gc/gc_ms.c +++ b/src/gc/gc_ms.c @@ -1537,8 +1537,8 @@ gc_ms_more_traceable_objects(PARROT_INTERP, pool->skip = GC_NO_SKIP; else if (pool->skip == GC_NEVER_SKIP || (pool->skip == GC_NO_SKIP - && (new_mem > (mem_pools->mem_used_last_collect >> 1) - && mem_pools->header_allocs_since_last_collect >= GC_SIZE_THRESHOLD))) + && new_mem > (mem_pools->mem_used_last_collect >> 1) + && new_mem >= GC_SIZE_THRESHOLD)) Parrot_gc_mark_and_sweep(interp, GC_trace_stack_FLAG); /* requires that num_free_objects be updated in Parrot_gc_mark_and_sweep.