X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsFlags.c;h=0ab13992ce9479b1bd6ae8d42e58cdcc3486a16f;hb=0598a001b9d852a044a49f8fb6ab1a6b02a77d9e;hp=1cf7700b51d1c93401608f2c680810034478b663;hpb=cbeb99efd4a117de5b028341dc41bc8f50717383;p=ghc-hetmet.git diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c index 1cf7700..0ab1399 100644 --- a/rts/RtsFlags.c +++ b/rts/RtsFlags.c @@ -150,6 +150,18 @@ void initRtsFlagsDefaults(void) #endif RtsFlags.GcFlags.idleGCDelayTime = 300; /* millisecs */ +#if osf3_HOST_OS +/* ToDo: Perhaps by adjusting this value we can make linking without + * -static work (i.e., not generate a core-dumping executable)? */ +# if SIZEOF_VOID_P == 8 + RtsFlags.GcFlags.heapBase = 0x180000000L; +# else +# error I have no idea where to begin the heap on a non-64-bit osf3 machine. +# endif +#else + RtsFlags.GcFlags.heapBase = 0; /* means don't care */ +#endif + #ifdef DEBUG RtsFlags.DebugFlags.scheduler = rtsFalse; RtsFlags.DebugFlags.interpreter = rtsFalse; @@ -403,7 +415,7 @@ usage_text[] = { " -C Context-switch interval in seconds.", " 0 or no argument means switch as often as possible.", " Default: 0.02 sec; resolution is set by -V below.", -" -V Master tick interval in seconds.", +" -V Master tick interval in seconds (0 == disable timer).", " This sets the resolution for -C and the profile timer -i.", " Default: 0.02 sec.", "", @@ -1192,6 +1204,16 @@ error = rtsTrue; error = rtsTrue; break; + case 'b': /* heapBase in hex; undocumented */ + if (rts_argv[arg][3] != '\0') { + RtsFlags.GcFlags.heapBase + = strtol(rts_argv[arg]+3, (char **) NULL, 16); + } else { + errorBelch("-xb: requires argument"); + error = rtsTrue; + } + break; + case 'c': /* Debugging tool: show current cost centre on an exception */ PROFILING_BUILD_ONLY( RtsFlags.ProfFlags.showCCSOnException = rtsTrue;