diff --git a/rts/sm/GC.c b/rts/sm/GC.c index 5cd1298df7d7d4885e3278ed0e63fa431b12e0e3..aff33201a95de9f2e14a8eeb404875804528c5f8 100644 --- a/rts/sm/GC.c +++ b/rts/sm/GC.c @@ -289,7 +289,7 @@ GarbageCollect ( rtsBool force_major_gc ) /* Allocate a mark stack if we're doing a major collection. */ - if (major_gc) { + if (major_gc && oldest_gen->steps[0].mark) { nat mark_stack_blocks; mark_stack_blocks = stg_max(MARK_STACK_BLOCKS, oldest_gen->steps[0].n_old_blocks / 100);