Fix stats debugging and always compile it in for the
authorNathan Binkert <binkertn@umich.edu>
Wed, 25 Feb 2004 21:12:48 +0000 (16:12 -0500)
committerNathan Binkert <binkertn@umich.edu>
Wed, 25 Feb 2004 21:12:48 +0000 (16:12 -0500)
debug target

--HG--
extra : convert_revision : aa16e6256a056e6df9affec6fd973e62e812e23c

base/statistics.cc
base/statistics.hh

index 49294ad2759fa71fabab95924a7e215ff8b08fd6..dce545f18a89e8700a7bdfe479210dc625ff0722 100644 (file)
@@ -57,7 +57,7 @@ __nan()
 }
 #endif
 
-#ifdef STAT_DEBUG
+#ifdef DEBUG
 static int total_stats = 0;
 #endif
 
@@ -409,6 +409,14 @@ DataAccess::setPrint()
     Database::StatDB().regPrint(this);
 }
 
+StatData::StatData()
+    : flags(none), precision(-1), prereq(0)
+{
+#ifdef DEBUG
+    number = total_stats++;
+#endif
+}
+
 StatData::~StatData()
 {
 }
@@ -443,8 +451,8 @@ bool
 StatData::baseCheck() const
 {
     if (!(flags & init)) {
-#ifdef STAT_DEBUG
-        cprintf("this is stat number %d\n",(*i)->number);
+#ifdef DEBUG
+        cprintf("this is stat number %d\n", number);
 #endif
         panic("Not all stats have been initialized");
         return false;
index d8b78fbffe9b3aaadeb19271b23ffe86fb359413..71d2aa8c8aa2ee3f41b7b7a1bfdccd4eedc2adad 100644 (file)
 #include "base/str.hh"
 #include "sim/host.hh"
 
-//
-//  Un-comment this to enable weirdo-stat debugging
-//
-// #define STAT_DEBUG
-
-
 #ifndef NAN
 float __nan();
 /** Define Not a number. */
@@ -146,10 +140,7 @@ struct StatData
     /** A pointer to a prerequisite Stat. */
     const StatData *prereq;
 
-    StatData()
-        : flags(none), precision(-1), prereq(0)
-    {}
-
+    StatData();
     virtual ~StatData();
 
     /**
@@ -193,6 +184,10 @@ struct StatData
      * @return stat1's name is alphabetically before stat2's
      */
     static bool less(StatData *stat1, StatData *stat2);
+
+#ifdef DEBUG
+    int number;
+#endif
 };
 
 struct ScalarDataBase : public StatData