From 655e9ef3de65ce71f63fce23152de862994c38f3 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Thu, 6 Nov 2003 00:41:14 -0500 Subject: Little fixes to make more of the stats reset correctly. base/statistics.cc: formatting cpu/simple_cpu/simple_cpu.cc: cpu/simple_cpu/simple_cpu.hh: Make numInsts reset by adding a resetStats function sim/sim_object.cc: Register the reset callback in a slightly cleaner way to avoid potential static member constructor ordering issues --HG-- extra : convert_revision : 408073b4b0397fbf9dfd9c548a313f1c8c3fc031 --- sim/sim_object.cc | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'sim') diff --git a/sim/sim_object.cc b/sim/sim_object.cc index b524d6075..dbc2cf7be 100644 --- a/sim/sim_object.cc +++ b/sim/sim_object.cc @@ -73,16 +73,6 @@ SimObject::regFormulas() { } -namespace { - class __SimObjectResetCB : public Callback - { - public: - __SimObjectResetCB() { Statistics::RegResetCallback(this); } - virtual void process() { SimObject::resetAllStats(); } - }; - __SimObjectResetCB __theSimObjectResetCB; -} - void SimObject::resetStats() { @@ -101,6 +91,15 @@ SimObject::printExtraOutput(ostream &os) // call regStats() on all SimObjects and then regFormulas() on all // SimObjects. // +struct SimObjectResetCB : public Callback +{ + virtual void process() { SimObject::resetAllStats(); } +}; + +namespace { + static SimObjectResetCB StatResetCB; +} + void SimObject::regAllStats() { @@ -122,7 +121,9 @@ SimObject::regAllStats() cprintf("registering formulas for %s\n", (*i)->name()); #endif (*i)->regFormulas(); - } + } + + Statistics::RegResetCallback(&StatResetCB); } // -- cgit v1.2.3