diff options
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/pseudo_inst.cc | 6 | ||||
-rw-r--r-- | src/sim/simulate.cc | 2 | ||||
-rw-r--r-- | src/sim/stat_control.cc | 12 | ||||
-rw-r--r-- | src/sim/stat_control.hh | 3 |
4 files changed, 12 insertions, 11 deletions
diff --git a/src/sim/pseudo_inst.cc b/src/sim/pseudo_inst.cc index 49298c6a9..df6ba1781 100644 --- a/src/sim/pseudo_inst.cc +++ b/src/sim/pseudo_inst.cc @@ -236,7 +236,7 @@ resetstats(ThreadContext *tc, Tick delay, Tick period) Tick when = curTick + delay * SimClock::Int::ns; Tick repeat = period * SimClock::Int::ns; - Stats::StatEvent(false, true, when, repeat); + Stats::schedStatEvent(false, true, when, repeat); } void @@ -249,7 +249,7 @@ dumpstats(ThreadContext *tc, Tick delay, Tick period) Tick when = curTick + delay * SimClock::Int::ns; Tick repeat = period * SimClock::Int::ns; - Stats::StatEvent(true, false, when, repeat); + Stats::schedStatEvent(true, false, when, repeat); } void @@ -262,7 +262,7 @@ dumpresetstats(ThreadContext *tc, Tick delay, Tick period) Tick when = curTick + delay * SimClock::Int::ns; Tick repeat = period * SimClock::Int::ns; - Stats::StatEvent(true, true, when, repeat); + Stats::schedStatEvent(true, true, when, repeat); } void diff --git a/src/sim/simulate.cc b/src/sim/simulate.cc index 0cc603d3f..de33cce1c 100644 --- a/src/sim/simulate.cc +++ b/src/sim/simulate.cc @@ -93,7 +93,7 @@ simulate(Tick num_cycles) if (async_event) { async_event = false; if (async_statdump || async_statreset) { - Stats::StatEvent(async_statdump, async_statreset); + Stats::schedStatEvent(async_statdump, async_statreset); async_statdump = false; async_statreset = false; } diff --git a/src/sim/stat_control.cc b/src/sim/stat_control.cc index 83861c185..5985eb0a4 100644 --- a/src/sim/stat_control.cc +++ b/src/sim/stat_control.cc @@ -48,6 +48,7 @@ #endif #include "sim/eventq.hh" +#include "sim/stat_control.hh" using namespace std; @@ -164,7 +165,7 @@ initSimStats() static Global global; } -class _StatEvent : public Event +class StatEvent : public Event { private: bool dump; @@ -172,7 +173,7 @@ class _StatEvent : public Event Tick repeat; public: - _StatEvent(bool _dump, bool _reset, Tick _repeat) + StatEvent(bool _dump, bool _reset, Tick _repeat) : Event(Stat_Event_Pri), dump(_dump), reset(_reset), repeat(_repeat) { setFlags(AutoDelete); @@ -188,16 +189,15 @@ class _StatEvent : public Event Stats::reset(); if (repeat) { - Event *event = new _StatEvent(dump, reset, repeat); - mainEventQueue.schedule(event, curTick + repeat); + Stats::schedStatEvent(dump, reset, curTick + repeat, repeat); } } }; void -StatEvent(bool dump, bool reset, Tick when, Tick repeat) +schedStatEvent(bool dump, bool reset, Tick when, Tick repeat) { - Event *event = new _StatEvent(dump, reset, repeat); + Event *event = new StatEvent(dump, reset, repeat); mainEventQueue.schedule(event, when); } diff --git a/src/sim/stat_control.hh b/src/sim/stat_control.hh index 78031b666..ac3c44960 100644 --- a/src/sim/stat_control.hh +++ b/src/sim/stat_control.hh @@ -34,7 +34,8 @@ namespace Stats { void initSimStats(); -void StatEvent(bool dump, bool reset, Tick when = curTick, Tick repeat = 0); +void schedStatEvent(bool dump, bool reset, Tick when = curTick, + Tick repeat = 0); } // namespace Stats |