summaryrefslogtreecommitdiff
path: root/src/base/trace.cc
diff options
context:
space:
mode:
authorCurtis Dunham <Curtis.Dunham@arm.com>2015-09-30 15:21:55 -0500
committerCurtis Dunham <Curtis.Dunham@arm.com>2015-09-30 15:21:55 -0500
commit02881a7bf3e5a5920d258d13ed0aed282f252f07 (patch)
tree73b16a32bbfc03c789d75c35d951b108cae98a94 /src/base/trace.cc
parentccf4f6c3d7616c546d78eb21d22ebda812b5e2bb (diff)
downloadgem5-02881a7bf3e5a5920d258d13ed0aed282f252f07.tar.xz
base: remove Trace::enabled flag
The DTRACE() macro tests both Trace::enabled and the specific flag. This change uses the same administrative interface for enabling/disabling tracing, but masks the SimpleFlags settings directly. This eliminates a load for every DTRACE() test, e.g. DPRINTF.
Diffstat (limited to 'src/base/trace.cc')
-rw-r--r--src/base/trace.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/base/trace.cc b/src/base/trace.cc
index 711d49655..ff1778249 100644
--- a/src/base/trace.cc
+++ b/src/base/trace.cc
@@ -39,6 +39,7 @@
#include <sstream>
#include <string>
+#include "base/debug.hh"
#include "base/misc.hh"
#include "base/output.hh"
#include "base/str.hh"
@@ -54,8 +55,6 @@ const std::string &name()
namespace Trace
{
-bool enabled = false;
-
// This variable holds the output logger for debug information. Other
// than setting up/redirecting this logger, do *NOT* reference this
// directly
@@ -87,6 +86,18 @@ setDebugLogger(Logger *logger)
debug_logger = logger;
}
+void
+enable()
+{
+ Debug::SimpleFlag::enableAll();
+}
+
+void
+disable()
+{
+ Debug::SimpleFlag::disableAll();
+}
+
ObjectMatch ignore;
void