summaryrefslogtreecommitdiff
path: root/src/cpu/o3
diff options
context:
space:
mode:
authorAndreas Sandberg <Andreas.Sandberg@ARM.com>2013-01-07 13:05:46 -0500
committerAndreas Sandberg <Andreas.Sandberg@ARM.com>2013-01-07 13:05:46 -0500
commitfca4fea769c09add919099e5ede694145c5c5f77 (patch)
tree3f8a4564eeaa6503fdb84575081400908b5076a5 /src/cpu/o3
parentfb52ea9220f307de18da6565a2cbbaf67ba2b7a7 (diff)
downloadgem5-fca4fea769c09add919099e5ede694145c5c5f77.tar.xz
cpu: Fix O3 LSQ debug dumping constness and formatting
Diffstat (limited to 'src/cpu/o3')
-rw-r--r--src/cpu/o3/lsq.hh4
-rw-r--r--src/cpu/o3/lsq_impl.hh6
-rw-r--r--src/cpu/o3/lsq_unit.hh10
-rw-r--r--src/cpu/o3/lsq_unit_impl.hh17
4 files changed, 20 insertions, 17 deletions
diff --git a/src/cpu/o3/lsq.hh b/src/cpu/o3/lsq.hh
index 07881da9f..7caee86f6 100644
--- a/src/cpu/o3/lsq.hh
+++ b/src/cpu/o3/lsq.hh
@@ -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
diff --git a/src/cpu/o3/lsq_impl.hh b/src/cpu/o3/lsq_impl.hh
index 58a0526c1..7051c9f7c 100644
--- a/src/cpu/o3/lsq_impl.hh
+++ b/src/cpu/o3/lsq_impl.hh
@@ -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++;
diff --git a/src/cpu/o3/lsq_unit.hh b/src/cpu/o3/lsq_unit.hh
index c0fc52caf..2c79931e2 100644
--- a/src/cpu/o3/lsq_unit.hh
+++ b/src/cpu/o3/lsq_unit.hh
@@ -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. */
diff --git a/src/cpu/o3/lsq_unit_impl.hh b/src/cpu/o3/lsq_unit_impl.hh
index 799759557..d640f94a3 100644
--- a/src/cpu/o3/lsq_unit_impl.hh
+++ b/src/cpu/o3/lsq_unit_impl.hh
@@ -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);
}