diff options
author | Nathan Binkert <binkertn@umich.edu> | 2004-07-30 10:18:04 -0400 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2004-07-30 10:18:04 -0400 |
commit | 41988a86b56984e19e9ef45991a39c00fdb3f21e (patch) | |
tree | bdbf0abd4c0898cbfaae887c9b9fcb27f2677ccf /base | |
parent | b1fa4e9f0a687f8005ab0ba3cbfb5f4e6fb0172f (diff) | |
download | gem5-41988a86b56984e19e9ef45991a39c00fdb3f21e.tar.xz |
Make the DDUMP tracing feature output the cycle number and
the object name on every line.
This makes grep a bit more effective.
kern/tru64/dump_mbuf.cc:
use the new data dump format that trace.hh now provides
--HG--
extra : convert_revision : 179efa96aaff9da710baae13c9e981975d2abdc1
Diffstat (limited to 'base')
-rw-r--r-- | base/trace.cc | 16 | ||||
-rw-r--r-- | base/trace.hh | 16 |
2 files changed, 15 insertions, 17 deletions
diff --git a/base/trace.cc b/base/trace.cc index aa82ee403..d924b9a4b 100644 --- a/base/trace.cc +++ b/base/trace.cc @@ -184,7 +184,6 @@ PrintfRecord::~PrintfRecord() delete &args; } - void PrintfRecord::dump(ostream &os) { @@ -206,29 +205,26 @@ PrintfRecord::dump(ostream &os) os.flush(); } - - -RawDataRecord::RawDataRecord(Tick _cycle, const void *_data, int _len) - : Record(_cycle), len(_len) +DataRecord::DataRecord(Tick _cycle, const string &_name, + const void *_data, int _len) + : Record(_cycle), name(_name), len(_len) { data = new uint8_t[len]; memcpy(data, _data, len); } - -RawDataRecord::~RawDataRecord() +DataRecord::~DataRecord() { delete [] data; } - void -RawDataRecord::dump(ostream &os) +DataRecord::dump(ostream &os) { int c, i, j; for (i = 0; i < len; i += 16) { - ccprintf(os, "%08x ", i); + ccprintf(os, "%d: %s: %08x ", cycle, name, i); c = len - i; if (c > 16) c = 16; diff --git a/base/trace.hh b/base/trace.hh index 60ea015ea..b363bec94 100644 --- a/base/trace.hh +++ b/base/trace.hh @@ -69,7 +69,7 @@ namespace Trace { class Record { protected: - Tick cycle; + Tick cycle; Record(Tick _cycle) : cycle(_cycle) @@ -101,15 +101,17 @@ namespace Trace { virtual void dump(std::ostream &); }; - class RawDataRecord : public Record + class DataRecord : public Record { private: + const std::string &name; uint8_t *data; int len; public: - RawDataRecord(Tick cycle, const void *_data, int _len); - virtual ~RawDataRecord(); + DataRecord(Tick cycle, const std::string &name, + const void *_data, int _len); + virtual ~DataRecord(); virtual void dump(std::ostream &); }; @@ -149,9 +151,9 @@ namespace Trace { } inline void - rawDump(const void *data, int len) + dataDump(Tick cycle, const std::string &name, const void *data, int len) { - theLog.append(new Trace::RawDataRecord(curTick, data, len)); + theLog.append(new Trace::DataRecord(cycle, name, data, len)); } extern const std::string DefaultName; @@ -180,7 +182,7 @@ std::ostream &DebugOut(); #define DDUMP(x, data, count) \ do { \ if (Trace::IsOn(Trace::x)) \ - Trace::rawDump(data, count); \ + Trace::dataDump(curTick, name(), data, count); \ } while (0) #define __dprintf(cycle, name, format, args...) \ |