summaryrefslogtreecommitdiff
path: root/rts/sm/GC.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2008-11-12 11:21:44 +0000
committerSimon Marlow <marlowsd@gmail.com>2008-11-12 11:21:44 +0000
commit376fad712985bb936489b97c52386d8c6c885e38 (patch)
treeb46b9c71d3dbae3e788439c7e0a1d29de2761228 /rts/sm/GC.c
parent7ebf1a69051b1999f74567df6d0d3515539f61e5 (diff)
downloadhaskell-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.c2
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);