diff options
author | Ben Gamari <ben@smart-cactus.org> | 2021-09-07 11:13:03 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-09-08 03:01:32 -0400 |
commit | 9fc0fe008c13782cb7b1962b0ebed0bb09ecfb6f (patch) | |
tree | 3b2704f62be9b248778c5c704a8b5b682f38091d /rts/Trace.c | |
parent | 330e6e9c7a88d2be6d3f78eff44a9a6fcf9733a2 (diff) | |
download | haskell-9fc0fe008c13782cb7b1962b0ebed0bb09ecfb6f.tar.gz |
rts: Factor out TRACE_ cache update logic
Just a small refactoring to perhaps enable code reuse later.
Diffstat (limited to 'rts/Trace.c')
-rw-r--r-- | rts/Trace.c | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/rts/Trace.c b/rts/Trace.c index 8f2877a536..dace0970e6 100644 --- a/rts/Trace.c +++ b/rts/Trace.c @@ -49,12 +49,12 @@ static void traceCap_stderr(Capability *cap, char *msg, ...); Starting up / shutting down the tracing facilities --------------------------------------------------------------------------- */ -void initTracing (void) +/* + * Update the TRACE_* globals. Must be called whenever RtsFlags.TraceFlags is + * modified. + */ +static void updateTraceFlagCache (void) { -#if defined(THREADED_RTS) - initMutex(&trace_utx); -#endif - // -Ds turns on scheduler tracing too TRACE_sched = RtsFlags.TraceFlags.scheduler || @@ -65,9 +65,6 @@ void initTracing (void) RtsFlags.TraceFlags.gc || RtsFlags.DebugFlags.gc || RtsFlags.DebugFlags.scheduler; - if (TRACE_gc && RtsFlags.GcFlags.giveStats == NO_GC_STATS) { - RtsFlags.GcFlags.giveStats = COLLECT_GC_STATS; - } TRACE_nonmoving_gc = RtsFlags.TraceFlags.nonmoving_gc; @@ -90,6 +87,19 @@ void initTracing (void) TRACE_spark_sampled || TRACE_spark_full || TRACE_user; +} + +void initTracing (void) +{ +#if defined(THREADED_RTS) + initMutex(&trace_utx); +#endif + + updateTraceFlagCache(); + + if (TRACE_gc && RtsFlags.GcFlags.giveStats == NO_GC_STATS) { + RtsFlags.GcFlags.giveStats = COLLECT_GC_STATS; + } /* Note: we can have any of the TRACE_* flags turned on even when eventlog_enabled is off. In the DEBUG way we may be tracing to stderr. |