From ac1368df50af123b32b41d7115ea4a0f15f7c97f Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Fri, 6 Nov 2015 03:26:21 -0500 Subject: 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. --- src/mem/coherent_xbar.hh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/mem/coherent_xbar.hh') diff --git a/src/mem/coherent_xbar.hh b/src/mem/coherent_xbar.hh index e99e9374f..24d00628b 100644 --- a/src/mem/coherent_xbar.hh +++ b/src/mem/coherent_xbar.hh @@ -274,11 +274,10 @@ class CoherentXBar : public BaseXBar const Cycles snoopResponseLatency; /** - * @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 pendingDelete; + std::unique_ptr pendingDelete; /** Function called by the port when the crossbar is recieving a Timing request packet.*/ -- cgit v1.2.3