diff options
Diffstat (limited to 'src/sim/clocked_object.hh')
-rw-r--r-- | src/sim/clocked_object.hh | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/sim/clocked_object.hh b/src/sim/clocked_object.hh index d41f71a17..ba1750ea1 100644 --- a/src/sim/clocked_object.hh +++ b/src/sim/clocked_object.hh @@ -270,7 +270,6 @@ class ClockedObject : public SimObject, public Clocked void computeStats(); void pwrState(Enums::PwrState); - void regStats() override; protected: @@ -279,18 +278,18 @@ class ClockedObject : public SimObject, public Clocked Tick prvEvalTick; - Stats::Scalar numPwrStateTransitions; - Stats::Distribution pwrStateClkGateDist; - Stats::Vector pwrStateResidencyTicks; + struct ClockedObjectStats : public Stats::Group + { + ClockedObjectStats(ClockedObject &co); -}; + void regStats() override; + void preDumpStats() override; -class ClockedObjectDumpCallback : public Callback -{ - ClockedObject *co; - public: - ClockedObjectDumpCallback(ClockedObject *co_t) : co(co_t) {} - virtual void process() { co->computeStats(); }; + ClockedObject &clockedObject; + Stats::Scalar numPwrStateTransitions; + Stats::Distribution pwrStateClkGateDist; + Stats::Vector pwrStateResidencyTicks; + } stats; }; #endif //__SIM_CLOCKED_OBJECT_HH__ |