summaryrefslogtreecommitdiff
path: root/src/mem/cache/mshr.hh
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2015-03-27 04:55:57 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2015-03-27 04:55:57 -0400
commitfe806a0dd7daef6cd42f78d7caaafcb5db9fd6a5 (patch)
tree12d5ffb834b9284ba00341b4d572120454b00f68 /src/mem/cache/mshr.hh
parentd5e03beac2a63b4363a275a63951ae38e03bdb0c (diff)
downloadgem5-fe806a0dd7daef6cd42f78d7caaafcb5db9fd6a5.tar.xz
mem: Modernise MSHR iterators to C++11
This patch updates the iterators in the MSHR and MSHR queues to use C++11 range-based for loops. It also does a bit of additional house keeping.
Diffstat (limited to 'src/mem/cache/mshr.hh')
-rw-r--r--src/mem/cache/mshr.hh21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/mem/cache/mshr.hh b/src/mem/cache/mshr.hh
index 86b8dee4d..65740c107 100644
--- a/src/mem/cache/mshr.hh
+++ b/src/mem/cache/mshr.hh
@@ -100,13 +100,13 @@ class MSHR : public Packet::SenderState, public Printable
FromPrefetcher
};
- Tick recvTime; //!< Time when request was received (for stats)
- Tick readyTime; //!< Time when request is ready to be serviced
- Counter order; //!< Global order (for memory consistency mgmt)
- PacketPtr pkt; //!< Pending request packet.
- Source source; //!< Did request come from cpu, memory, or prefetcher?
- bool markedPending; //!< Did we mark upstream MSHR
- //!< as downstreamPending?
+ const Tick recvTime; //!< Time when request was received (for stats)
+ const Tick readyTime; //!< Time when request is ready to be serviced
+ const Counter order; //!< Global order (for memory consistency mgmt)
+ const PacketPtr pkt; //!< Pending request packet.
+ const Source source; //!< Request from cpu, memory, or prefetcher?
+ const bool markedPending; //!< Did we mark upstream MSHR
+ //!< as downstreamPending?
Target(PacketPtr _pkt, Tick _readyTime, Counter _order,
Source _source, bool _markedPending)
@@ -116,9 +116,6 @@ class MSHR : public Packet::SenderState, public Printable
};
class TargetList : public std::list<Target> {
- /** Target list iterator. */
- typedef std::list<Target>::iterator Iterator;
- typedef std::list<Target>::const_iterator ConstIterator;
public:
bool needsExclusive;
@@ -126,7 +123,7 @@ class MSHR : public Packet::SenderState, public Printable
TargetList();
void resetFlags() { needsExclusive = hasUpgrade = false; }
- bool isReset() { return !needsExclusive && !hasUpgrade; }
+ bool isReset() const { return !needsExclusive && !hasUpgrade; }
void add(PacketPtr pkt, Tick readyTime, Counter order,
Target::Source source, bool markPending);
void replaceUpgrades();
@@ -285,7 +282,7 @@ class MSHR : public Packet::SenderState, public Printable
bool promoteDeferredTargets();
- void handleFill(Packet *pkt, CacheBlk *blk);
+ void handleFill(PacketPtr pkt, CacheBlk *blk);
bool checkFunctional(PacketPtr pkt);