diff options
author | Simon Marlow <marlowsd@gmail.com> | 2008-06-09 17:49:43 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2008-06-09 17:49:43 +0000 |
commit | 74ee9df9f9e79e7110e9d8541b84010f35c464c5 (patch) | |
tree | a7a10946773a1f12d367c063e4ac343e6580d9ad /rts/RtsFlags.c | |
parent | 54fe7a440247fbd0f853d07da23d48b50a229a00 (diff) | |
download | haskell-74ee9df9f9e79e7110e9d8541b84010f35c464c5.tar.gz |
Experimental "mark-region" strategy for the old generation
Sometimes better than the default copying, enabled by +RTS -w
Diffstat (limited to 'rts/RtsFlags.c')
-rw-r--r-- | rts/RtsFlags.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c index 81bac4e9b6..0618386ae5 100644 --- a/rts/RtsFlags.c +++ b/rts/RtsFlags.c @@ -147,6 +147,7 @@ void initRtsFlagsDefaults(void) #endif RtsFlags.GcFlags.compact = rtsFalse; RtsFlags.GcFlags.compactThreshold = 30.0; + RtsFlags.GcFlags.sweep = rtsFalse; #ifdef RTS_GTK_FRONTPANEL RtsFlags.GcFlags.frontpanel = rtsFalse; #endif @@ -353,6 +354,7 @@ usage_text[] = { " -c<n> Auto-enable compaction of the oldest generation when live data is", " at least <n>% of the maximum heap size set with -M (default: 30%)", " -c Enable compaction for all major collections", +" -w Use mark-region for the oldest generation (experimental)", #if defined(THREADED_RTS) " -I<sec> Perform full GC after <sec> idle time (default: 0.3, 0 == off)", #endif @@ -750,6 +752,10 @@ error = rtsTrue; } break; + case 'w': + RtsFlags.GcFlags.sweep = rtsTrue; + break; + case 'F': RtsFlags.GcFlags.oldGenFactor = atof(rts_argv[arg]+2); |