cpu: Fix O3 LSQ debug dumping constness and formatting
authorAndreas Sandberg <Andreas.Sandberg@ARM.com>
Mon, 7 Jan 2013 18:05:46 +0000 (13:05 -0500)
committerAndreas Sandberg <Andreas.Sandberg@ARM.com>
Mon, 7 Jan 2013 18:05:46 +0000 (13:05 -0500)
src/cpu/o3/lsq.hh
src/cpu/o3/lsq_impl.hh
src/cpu/o3/lsq_unit.hh
src/cpu/o3/lsq_unit_impl.hh

index 07881da9f92a6348e7f1547a21ffa94b17fe9bf9..7caee86f6ffe8168e84ce2fb4d39dfe1eb5decd5 100644 (file)
@@ -263,9 +263,9 @@ class LSQ {
     { retryTid = tid; }
 
     /** Debugging function to print out all instructions. */
-    void dumpInsts();
+    void dumpInsts() const;
     /** Debugging function to print out instructions from a specific thread. */
-    void dumpInsts(ThreadID tid)
+    void dumpInsts(ThreadID tid) const
     { thread[tid].dumpInsts(); }
 
     /** Executes a read operation, using the load specified at the load
index 58a0526c1a799999b7267c4cc7bb5ec29c7d79cf..7051c9f7c089c993827552e50015a6506a957644 100644 (file)
@@ -577,10 +577,10 @@ LSQ<Impl>::willWB()
 
 template<class Impl>
 void
-LSQ<Impl>::dumpInsts()
+LSQ<Impl>::dumpInsts() const
 {
-    list<ThreadID>::iterator threads = activeThreads->begin();
-    list<ThreadID>::iterator end = activeThreads->end();
+    list<ThreadID>::const_iterator threads = activeThreads->begin();
+    list<ThreadID>::const_iterator end = activeThreads->end();
 
     while (threads != end) {
         ThreadID tid = *threads++;
index c0fc52caf6eda370e2c610e5a680458b331e0f57..2c79931e29335b74f0707ddd9d0ec1ac490ca612 100644 (file)
@@ -241,17 +241,17 @@ class LSQUnit {
     bool sendStore(PacketPtr data_pkt);
 
     /** Increments the given store index (circular queue). */
-    inline void incrStIdx(int &store_idx);
+    inline void incrStIdx(int &store_idx) const;
     /** Decrements the given store index (circular queue). */
-    inline void decrStIdx(int &store_idx);
+    inline void decrStIdx(int &store_idx) const;
     /** Increments the given load index (circular queue). */
-    inline void incrLdIdx(int &load_idx);
+    inline void incrLdIdx(int &load_idx) const;
     /** Decrements the given load index (circular queue). */
-    inline void decrLdIdx(int &load_idx);
+    inline void decrLdIdx(int &load_idx) const;
 
   public:
     /** Debugging function to dump instructions in the LSQ. */
-    void dumpInsts();
+    void dumpInsts() const;
 
   private:
     /** Pointer to the CPU. */
index 7997595571800a75bb9871bbbbc5bdad2e3db47e..d640f94a369993f6748444f422323e4ec12020f3 100644 (file)
@@ -1228,7 +1228,7 @@ LSQUnit<Impl>::recvRetry()
 
 template <class Impl>
 inline void
-LSQUnit<Impl>::incrStIdx(int &store_idx)
+LSQUnit<Impl>::incrStIdx(int &store_idx) const
 {
     if (++store_idx >= SQEntries)
         store_idx = 0;
@@ -1236,7 +1236,7 @@ LSQUnit<Impl>::incrStIdx(int &store_idx)
 
 template <class Impl>
 inline void
-LSQUnit<Impl>::decrStIdx(int &store_idx)
+LSQUnit<Impl>::decrStIdx(int &store_idx) const
 {
     if (--store_idx < 0)
         store_idx += SQEntries;
@@ -1244,7 +1244,7 @@ LSQUnit<Impl>::decrStIdx(int &store_idx)
 
 template <class Impl>
 inline void
-LSQUnit<Impl>::incrLdIdx(int &load_idx)
+LSQUnit<Impl>::incrLdIdx(int &load_idx) const
 {
     if (++load_idx >= LQEntries)
         load_idx = 0;
@@ -1252,7 +1252,7 @@ LSQUnit<Impl>::incrLdIdx(int &load_idx)
 
 template <class Impl>
 inline void
-LSQUnit<Impl>::decrLdIdx(int &load_idx)
+LSQUnit<Impl>::decrLdIdx(int &load_idx) const
 {
     if (--load_idx < 0)
         load_idx += LQEntries;
@@ -1260,7 +1260,7 @@ LSQUnit<Impl>::decrLdIdx(int &load_idx)
 
 template <class Impl>
 void
-LSQUnit<Impl>::dumpInsts()
+LSQUnit<Impl>::dumpInsts() const
 {
     cprintf("Load store queue: Dumping instructions.\n");
     cprintf("Load queue size: %i\n", loads);
@@ -1269,10 +1269,12 @@ LSQUnit<Impl>::dumpInsts()
     int load_idx = loadHead;
 
     while (load_idx != loadTail && loadQueue[load_idx]) {
-        cprintf("%s ", loadQueue[load_idx]->pcState());
+        const DynInstPtr &inst(loadQueue[load_idx]);
+        cprintf("%s.[sn:%i] ", inst->pcState(), inst->seqNum);
 
         incrLdIdx(load_idx);
     }
+    cprintf("\n");
 
     cprintf("Store queue size: %i\n", stores);
     cprintf("Store queue: ");
@@ -1280,7 +1282,8 @@ LSQUnit<Impl>::dumpInsts()
     int store_idx = storeHead;
 
     while (store_idx != storeTail && storeQueue[store_idx].inst) {
-        cprintf("%s ", storeQueue[store_idx].inst->pcState());
+        const DynInstPtr &inst(storeQueue[store_idx].inst);
+        cprintf("%s.[sn:%i] ", inst->pcState(), inst->seqNum);
 
         incrStIdx(store_idx);
     }