summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-11-18 18:36:28 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-01-29 02:40:45 -0500
commit42c47cd608cd871e50c9b56691339d694a2ae4e3 (patch)
tree20174653f2eeff286d8515a8d279201660f0deec
parent62a6d03715c6318f962c824db5d5e6aa7a30ea73 (diff)
downloadhaskell-42c47cd608cd871e50c9b56691339d694a2ae4e3.tar.gz
rts/trace: Shrink tracing flags
-rw-r--r--rts/Trace.c14
-rw-r--r--rts/Trace.h18
2 files changed, 17 insertions, 15 deletions
diff --git a/rts/Trace.c b/rts/Trace.c
index f68a72cf2a..9f47147935 100644
--- a/rts/Trace.c
+++ b/rts/Trace.c
@@ -29,13 +29,13 @@
#endif
// events
-int TRACE_sched;
-int TRACE_gc;
-int TRACE_nonmoving_gc;
-int TRACE_spark_sampled;
-int TRACE_spark_full;
-int TRACE_user;
-int TRACE_cap;
+uint8_t TRACE_sched;
+uint8_t TRACE_gc;
+uint8_t TRACE_nonmoving_gc;
+uint8_t TRACE_spark_sampled;
+uint8_t TRACE_spark_full;
+uint8_t TRACE_user;
+uint8_t TRACE_cap;
#if defined(THREADED_RTS)
static Mutex trace_utx;
diff --git a/rts/Trace.h b/rts/Trace.h
index a1817e8b17..a4fa166594 100644
--- a/rts/Trace.h
+++ b/rts/Trace.h
@@ -66,14 +66,16 @@ enum CapsetType { CapsetTypeCustom = CAPSET_TYPE_CUSTOM,
#define DEBUG_sparks RtsFlags.DebugFlags.sparks
#define DEBUG_compact RtsFlags.DebugFlags.compact
-// events
-extern int TRACE_sched;
-extern int TRACE_gc;
-extern int TRACE_spark_sampled;
-extern int TRACE_spark_full;
-/* extern int TRACE_user; */ // only used in Trace.c
-extern int TRACE_cap;
-extern int TRACE_nonmoving_gc;
+// Event-enabled flags
+// These semantically booleans but we use a dense packing to minimize their
+// cache impact.
+extern uint8_t TRACE_sched;
+extern uint8_t TRACE_gc;
+extern uint8_t TRACE_nonmoving_gc;
+extern uint8_t TRACE_spark_sampled;
+extern uint8_t TRACE_spark_full;
+extern uint8_t TRACE_cap;
+/* extern uint8_t TRACE_user; */ // only used in Trace.c
// -----------------------------------------------------------------------------
// Posting events