diff options
author | Simon Marlow <marlowsd@gmail.com> | 2008-11-12 11:21:44 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2008-11-12 11:21:44 +0000 |
commit | 376fad712985bb936489b97c52386d8c6c885e38 (patch) | |
tree | b46b9c71d3dbae3e788439c7e0a1d29de2761228 /rts/sm/GC.c | |
parent | 7ebf1a69051b1999f74567df6d0d3515539f61e5 (diff) | |
download | haskell-376fad712985bb936489b97c52386d8c6c885e38.tar.gz |
Only allocate a mark stack if we're actually doing marking
saves a bit of memory in major GCs
Diffstat (limited to 'rts/sm/GC.c')
-rw-r--r-- | rts/sm/GC.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/sm/GC.c b/rts/sm/GC.c index 5cd1298df7..aff33201a9 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); |