summaryrefslogtreecommitdiff
path: root/src/sim/clocked_object.hh
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2019-09-23 18:21:20 +0100
committerAndreas Sandberg <andreas.sandberg@arm.com>2019-09-26 13:22:55 +0000
commit911c0959351a2c959e9a3a63a14af0599e637460 (patch)
tree0b116ddb32da99fee26105d82042af9dbe0e5e74 /src/sim/clocked_object.hh
parent7e52bf014adefe6be8ea0da53192bf77f6131c9b (diff)
downloadgem5-911c0959351a2c959e9a3a63a14af0599e637460.tar.xz
sim: Convert power modelling framework to new-style stats
Change-Id: I1dd3ea3d37bb4464637222aa5bc5d88cc7d9b66a Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21143 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Diffstat (limited to 'src/sim/clocked_object.hh')
-rw-r--r--src/sim/clocked_object.hh21
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__