X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsFlags.c;h=1cf7700b51d1c93401608f2c680810034478b663;hb=a87c4b292cc7e412aefcdb66e72c97b5a2c9f1d6;hp=58b69aff49164d8438619f4a29ab6cb410a8f33d;hpb=6ceca9b7dc1c8691be491ed2a9f5995ebd86e87a;p=ghc-hetmet.git diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c index 58b69af..1cf7700 100644 --- a/rts/RtsFlags.c +++ b/rts/RtsFlags.c @@ -172,9 +172,10 @@ void initRtsFlagsDefaults(void) RtsFlags.CcFlags.doCostCentres = 0; #endif /* PROFILING or PAR */ -#ifdef PROFILING RtsFlags.ProfFlags.doHeapProfile = rtsFalse; RtsFlags.ProfFlags.profileInterval = 100; + +#ifdef PROFILING RtsFlags.ProfFlags.includeTSOs = rtsFalse; RtsFlags.ProfFlags.showCCSOnException = rtsFalse; RtsFlags.ProfFlags.maxRetainerSetSize = 8; @@ -186,9 +187,6 @@ void initRtsFlagsDefaults(void) RtsFlags.ProfFlags.ccsSelector = NULL; RtsFlags.ProfFlags.retainerSelector = NULL; RtsFlags.ProfFlags.bioSelector = NULL; - -#elif defined(DEBUG) - RtsFlags.ProfFlags.doHeapProfile = rtsFalse; #endif RtsFlags.MiscFlags.tickInterval = 50; /* In milliseconds */ @@ -382,20 +380,17 @@ usage_text[] = { " -L Maximum length of a cost-centre stack in a heap profile", " (default: 25)", "", -" -i Time between heap samples (seconds, default: 0.1)", -"", " -xt Include threads (TSOs) in a heap profile", "", " -xc Show current cost centre stack on raising an exception", +"", # endif #endif /* PROFILING or PAR */ -#if !defined(PROFILING) && defined(DEBUG) +#if !defined(PROFILING) "", -" -h Debugging Heap residency profile", -" (output file .hp)", -" break-down: L = closure label (default)", -" T = closure type (constructor, thunk etc.)", +" -hT Heap residency profile (output file .hp)", #endif +" -i Time between heap samples (seconds, default: 0.1)", "", #if defined(TICKY_TICKY) " -r Produce ticky-ticky statistics (with -rstderr for stderr)", @@ -936,12 +931,9 @@ error = rtsTrue; } ) break; case 'h': /* serial heap profile */ -#if !defined(PROFILING) && defined(DEBUG) +#if !defined(PROFILING) switch (rts_argv[arg][2]) { case '\0': - case 'L': - RtsFlags.ProfFlags.doHeapProfile = HEAP_BY_INFOPTR; - break; case 'T': RtsFlags.ProfFlags.doHeapProfile = HEAP_BY_CLOSURE_TYPE; break; @@ -1057,7 +1049,6 @@ error = rtsTrue; #endif /* PROFILING */ break; -#if defined(PROFILING) case 'i': /* heap sample interval */ if (rts_argv[arg][2] == '\0') { /* use default */ @@ -1069,7 +1060,6 @@ error = rtsTrue; RtsFlags.ProfFlags.profileInterval = cst; } break; -#endif /* =========== CONCURRENT ========================= */ case 'C': /* context switch interval */ @@ -1251,13 +1241,11 @@ error = rtsTrue; RtsFlags.MiscFlags.tickInterval); } -#ifdef PROFILING if (RtsFlags.ProfFlags.profileInterval > 0) { RtsFlags.MiscFlags.tickInterval = stg_min(RtsFlags.ProfFlags.profileInterval, RtsFlags.MiscFlags.tickInterval); } -#endif if (RtsFlags.ConcFlags.ctxtSwitchTime > 0) { RtsFlags.ConcFlags.ctxtSwitchTicks = @@ -1267,10 +1255,8 @@ error = rtsTrue; RtsFlags.ConcFlags.ctxtSwitchTicks = 0; } -#ifdef PROFILING RtsFlags.ProfFlags.profileIntervalTicks = RtsFlags.ProfFlags.profileInterval / RtsFlags.MiscFlags.tickInterval; -#endif if (error) { const char **p;