summaryrefslogtreecommitdiff
path: root/src/mem/tport.hh
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2015-11-06 03:26:21 -0500
committerAndreas Hansson <andreas.hansson@arm.com>2015-11-06 03:26:21 -0500
commitac1368df50af123b32b41d7115ea4a0f15f7c97f (patch)
tree107ba41258ee0a30de841624bc6f3c5fab041d8f /src/mem/tport.hh
parent2cb5467e8514934c4d88304c65050adead0ffc7e (diff)
downloadgem5-ac1368df50af123b32b41d7115ea4a0f15f7c97f.tar.xz
mem: Unify delayed packet deletion
This patch unifies how we deal with delayed packet deletion, where the receiving slave is responsible for deleting the packet, but the sending agent (e.g. a cache) is still relying on the pointer until the call to sendTimingReq completes. Previously we used a mix of a deletion vector and a construct using unique_ptr. With this patch we ensure all slaves use the latter approach.
Diffstat (limited to 'src/mem/tport.hh')
-rw-r--r--src/mem/tport.hh8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/mem/tport.hh b/src/mem/tport.hh
index 166a23125..d7e4bbc74 100644
--- a/src/mem/tport.hh
+++ b/src/mem/tport.hh
@@ -81,12 +81,10 @@ class SimpleTimingPort : public QueuedSlavePort
virtual Tick recvAtomic(PacketPtr pkt) = 0;
/**
- * @todo this is a temporary workaround until the 4-phase code is committed.
- * upstream caches need this packet until true is returned, so hold it for
- * deletion until a subsequent call
+ * Upstream caches need this packet until true is returned, so
+ * hold it for deletion until a subsequent call
*/
- std::vector<PacketPtr> pendingDelete;
-
+ std::unique_ptr<Packet> pendingDelete;
public: