summaryrefslogtreecommitdiff
path: root/rts/RtsFlags.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2015-03-24 14:20:58 +0000
committerSimon Marlow <marlowsd@gmail.com>2015-04-07 09:57:50 +0100
commit890461ee01901207f8703274ae413508a8df904a (patch)
tree8dd36fb1b0be0a95416514228050c4377259ff7b /rts/RtsFlags.c
parenta7ab161602aa0b5833d22c66e64eebb1d9275235 (diff)
downloadhaskell-890461ee01901207f8703274ae413508a8df904a.tar.gz
Add +RTS -O<size> to control the minimum old gen size
Diffstat (limited to 'rts/RtsFlags.c')
-rw-r--r--rts/RtsFlags.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c
index ef01ccb3ab..5c7fcefab3 100644
--- a/rts/RtsFlags.c
+++ b/rts/RtsFlags.c
@@ -267,6 +267,7 @@ usage_text[] = {
" -kb<size> Sets the stack chunk buffer size (default 1k)",
"",
" -A<size> Sets the minimum allocation area size (default 512k) Egs: -A1m -A10k",
+" -O<size> Sets the minimum size of the old generation (default 1M)",
" -M<size> Sets the maximum heap size (default unlimited) Egs: -M256k -M1G",
" -H<size> Sets the minimum heap size (default 0M) Egs: -H24m -H1G",
" -m<n> Minimum % of heap which must be available (default 3%)",
@@ -971,6 +972,14 @@ error = rtsTrue;
}
break;
+ case 'O':
+ OPTION_UNSAFE;
+ RtsFlags.GcFlags.minOldGenSize =
+ (nat)(decodeSize(rts_argv[arg], 2, BLOCK_SIZE,
+ HS_WORD_MAX)
+ / BLOCK_SIZE);
+ break;
+
case 'I': /* idle GC delay */
OPTION_UNSAFE;
if (rts_argv[arg][2] == '\0') {