base,sim: Move DTRACE into base/debug.hh.
authorGabe Black <gabeblack@google.com>
Mon, 25 May 2020 23:24:42 +0000 (16:24 -0700)
committerGabe Black <gabeblack@google.com>
Wed, 3 Jun 2020 22:32:45 +0000 (22:32 +0000)
All other considerations aside, DTRACE probably fits best in trace.hh
where it is now, but unfortunately that creates an awkward dependence
between that file and eventq.hh and eventq_impl.hh. DTRACE only depends
on flags in the Debug namespace and a universal macro TRACING_ON, so
even though it won't be alongside the things it's most logically
associated with, it will be alongside all of its dependencies.

An alternative would be to re-implement DTRACE in eventq_impl.hh which
wouldn't be too big of a problem because it's so simple, but it's
cleaner and less error prone to still keep a single definition.

Because base/trace.hh includes base/debug.hh, any consumers expecting to
find DTRACE in base/trace.hh will still get that definition, even though
it's no longer direct.

Change-Id: I0dac83295891630686c3a8038eb54138cf40ab44
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29411
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
src/base/debug.hh
src/base/trace.hh
src/sim/eventq_impl.hh

index 527af6a705989dd8270f1b6f8a1819240518deab..7c9834ce7ac5a50916f66e8fb03cf9bfdf130d3d 100644 (file)
@@ -137,4 +137,10 @@ void clearDebugFlag(const char *string);
 
 void dumpDebugFlags();
 
+#if TRACING_ON
+#   define DTRACE(x) (Debug::x)
+#else // !TRACING_ON
+#   define DTRACE(x) (false)
+#endif  // TRACING_ON
+
 #endif // __BASE_DEBUG_HH__
index c3372e7090a29c248d05c88b55fbd6287d8d523e..c3a499b9dfabbaf1359eef87fc2bef3763852c64 100644 (file)
@@ -168,8 +168,6 @@ class Named
 
 #if TRACING_ON
 
-#define DTRACE(x) (Debug::x)
-
 #define DDUMP(x, data, count) do {               \
     using namespace Debug;                       \
     if (DTRACE(x))                               \
@@ -220,7 +218,6 @@ class Named
 
 #else // !TRACING_ON
 
-#define DTRACE(x) (false)
 #define DDUMP(x, data, count) do {} while (0)
 #define DPRINTF(x, ...) do {} while (0)
 #define DPRINTFS(x, ...) do {} while (0)
index 39bf00b44dd396693c802edff977b3a7b7dba62f..0e4f4081390b008bba9a80cae796bef67943a222 100644 (file)
@@ -31,7 +31,7 @@
 #ifndef __SIM_EVENTQ_IMPL_HH__
 #define __SIM_EVENTQ_IMPL_HH__
 
-#include "base/trace.hh"
+#include "base/debug.hh"
 #include "sim/eventq.hh"
 
 inline void