diff options
Diffstat (limited to 'src/mem/simple_mem.cc')
-rw-r--r-- | src/mem/simple_mem.cc | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/mem/simple_mem.cc b/src/mem/simple_mem.cc index f68066e75..7e350feb6 100644 --- a/src/mem/simple_mem.cc +++ b/src/mem/simple_mem.cc @@ -97,16 +97,10 @@ SimpleMemory::recvFunctional(PacketPtr pkt) bool SimpleMemory::recvTimingReq(PacketPtr pkt) { - /// @todo temporary hack to deal with memory corruption issues until - /// 4-phase transactions are complete - for (int x = 0; x < pendingDelete.size(); x++) - delete pendingDelete[x]; - pendingDelete.clear(); - if (pkt->memInhibitAsserted()) { // snooper will supply based on copy of packet // still target's responsibility to delete packet - pendingDelete.push_back(pkt); + pendingDelete.reset(pkt); return true; } @@ -165,7 +159,7 @@ SimpleMemory::recvTimingReq(PacketPtr pkt) if (!retryResp && !dequeueEvent.scheduled()) schedule(dequeueEvent, packetQueue.back().tick); } else { - pendingDelete.push_back(pkt); + pendingDelete.reset(pkt); } return true; |