sim: display final value of curTick in stats
[gem5.git] / src / sim / stat_control.cc
index 80aec224e5358ff92dcf34f6891c525802c1d2b1..eb5fe13072497089f7b5cf504e3bab62a87b08ab 100644 (file)
@@ -53,6 +53,7 @@ using namespace std;
 
 Stats::Formula simSeconds;
 Stats::Value simTicks;
+Stats::Value finalTick;
 Stats::Value simFreq;
 
 namespace Stats {
@@ -85,6 +86,12 @@ statElapsedTicks()
     return curTick() - startTick;
 }
 
+Tick
+statFinalTick()
+{
+    return curTick();
+}
+
 SimTicksReset simTicksReset;
 
 struct Global
@@ -126,6 +133,13 @@ Global::Global()
         .desc("Number of ticks simulated")
         ;
 
+    finalTick
+        .functor(statFinalTick)
+        .name("final_tick")
+        .desc("Number of ticks from beginning of simulation \
+(restored from checkpoints and never reset)")
+        ;
+
     hostInstRate
         .name("host_inst_rate")
         .desc("Simulator instruction rate (inst/s)")
@@ -175,9 +189,9 @@ class StatEvent : public Event
 
   public:
     StatEvent(bool _dump, bool _reset, Tick _repeat)
-        : Event(Stat_Event_Pri), dump(_dump), reset(_reset), repeat(_repeat)
+        : Event(Stat_Event_Pri, AutoDelete),
+          dump(_dump), reset(_reset), repeat(_repeat)
     {
-        setFlags(AutoDelete);
     }
 
     virtual void