- RtsFlags.GcFlags.initialStkSize =
- decode(rts_argv[arg]+2) / sizeof(W_);
-
- if (RtsFlags.GcFlags.initialStkSize == 0)
- bad_option( rts_argv[arg] );
- break;
-
- case 'M':
- RtsFlags.GcFlags.maxHeapSize =
- decode(rts_argv[arg]+2) / BLOCK_SIZE;
- /* user give size in *bytes* but "maxHeapSize" is in *blocks* */
+ switch(rts_argv[arg][2]) {
+ case 'c':
+ RtsFlags.GcFlags.stkChunkSize =
+ decodeSize(rts_argv[arg], 3, sizeof(W_), HS_WORD_MAX) / sizeof(W_);
+ break;
+ case 'b':
+ RtsFlags.GcFlags.stkChunkBufferSize =
+ decodeSize(rts_argv[arg], 3, sizeof(W_), HS_WORD_MAX) / sizeof(W_);
+ break;
+ case 'i':
+ RtsFlags.GcFlags.initialStkSize =
+ decodeSize(rts_argv[arg], 3, sizeof(W_), HS_WORD_MAX) / sizeof(W_);
+ break;
+ default:
+ RtsFlags.GcFlags.initialStkSize =
+ decodeSize(rts_argv[arg], 2, sizeof(W_), HS_WORD_MAX) / sizeof(W_);
+ break;
+ }
+ break;