diff options
author | Nathan Binkert <binkertn@umich.edu> | 2004-06-28 16:49:35 -0400 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2004-06-28 16:49:35 -0400 |
commit | 838273a196c66f3c6ee834ae865db14f313ef1bc (patch) | |
tree | 60e31aec4ac06c862ec92f2091b06399ec879b37 /sim | |
parent | 19d5789db1a58747daca88e5cd6580bb95db008e (diff) | |
download | gem5-838273a196c66f3c6ee834ae865db14f313ef1bc.tar.xz |
fix up the recordEvent stuff to support ignoring events
arch/alpha/ev5.cc:
cpu/simple_cpu/simple_cpu.cc:
update for new event interface
base/stats/events.cc:
implement the ignore event function which matches sim objects from which
to ignore events.
Make insert event like insert data and make it able to insert many
events in a single transaction with the database.
base/stats/events.hh:
Make it possible to ignore events
sim/sim_object.cc:
make recordEvent a member function of SimObject to implement
the ignore function easily
sim/sim_object.hh:
implement the ignore event stuff in the sim object. This is a
bit of a hack, but an easy place to put it.
--HG--
extra : convert_revision : ba3f25a14ad03662c53fb35514860d69be8cd4f0
Diffstat (limited to 'sim')
-rw-r--r-- | sim/sim_object.cc | 9 | ||||
-rw-r--r-- | sim/sim_object.hh | 4 |
2 files changed, 13 insertions, 0 deletions
diff --git a/sim/sim_object.cc b/sim/sim_object.cc index cab629f8d..39219b500 100644 --- a/sim/sim_object.cc +++ b/sim/sim_object.cc @@ -32,6 +32,7 @@ #include "base/inifile.hh" #include "base/misc.hh" #include "base/trace.hh" +#include "base/stats/events.hh" #include "sim/configfile.hh" #include "sim/host.hh" #include "sim/sim_object.hh" @@ -58,6 +59,7 @@ SimObject::SimObjectList SimObject::simObjectList; SimObject::SimObject(const string &_name) : objName(_name) { + doRecordEvent = !Stats::ignoreEvent(_name); simObjectList.push_back(this); } @@ -170,4 +172,11 @@ SimObject::serializeAll(ostream &os) } } +void +SimObject::recordEvent(const std::string &stat) +{ + if (doRecordEvent) + Stats::recordEvent(stat); +} + DEFINE_SIM_OBJECT_CLASS_NAME("SimObject", SimObject) diff --git a/sim/sim_object.hh b/sim/sim_object.hh index 1a9ed363d..770cd558e 100644 --- a/sim/sim_object.hh +++ b/sim/sim_object.hh @@ -82,6 +82,10 @@ class SimObject : public Serializable // static: call nameOut() & serialize() on all SimObjects static void serializeAll(std::ostream &); + + public: + bool doRecordEvent; + void recordEvent(const std::string &stat); }; #endif // __SIM_OBJECT_HH__ |