Fix bug where simulation terminates same cycle as last stat dump causing a duplicate...
authorAli Saidi <saidi@eecs.umich.edu>
Wed, 2 Nov 2005 19:45:35 +0000 (14:45 -0500)
committerAli Saidi <saidi@eecs.umich.edu>
Wed, 2 Nov 2005 19:45:35 +0000 (14:45 -0500)
--HG--
extra : convert_revision : 45877c6feeaddf921eb0f4764246bf66e1705a1d

sim/stat_control.cc

index 2f6e56b44e8c5c99216669b20fe673187f20edb6..85c405b7f2ca0c008bf556e6e62fdcc4df2fc7b4 100644 (file)
@@ -61,6 +61,7 @@ namespace Stats {
 
 Time statTime(true);
 Tick startTick;
+Tick lastDump(0);
 
 class SimTicksReset : public Callback
 {
@@ -194,6 +195,11 @@ list<Output *> OutputList;
 void
 DumpNow()
 {
+    assert(lastDump <= curTick);
+    if (lastDump == curTick)
+        return;
+    lastDump = curTick;
+
     list<Output *>::iterator i = OutputList.begin();
     list<Output *>::iterator end = OutputList.end();
     for (; i != end; ++i) {