Fix some of the memory leaks related to writebacks
src/cpu/memtest/memtest.cc: Add the [] to a delete to make it work correctly src/mem/cache/cache_impl.hh: Fix one of the memory leaks --HG-- extra : convert_revision : 64c7465c68a084efe38a62419205518b24d852a7
This commit is contained in:
parent
1aef5c06a3
commit
6415c47a5b
2 changed files with 11 additions and 5 deletions
|
@ -369,7 +369,7 @@ MemTest::tick()
|
|||
//This means we assume CPU does write forwarding to reads that alias something
|
||||
//in the cpu store buffer.
|
||||
if (outstandingAddrs.find(paddr) != outstandingAddrs.end()) {
|
||||
delete result;
|
||||
delete [] result;
|
||||
delete req;
|
||||
return;
|
||||
}
|
||||
|
|
14
src/mem/cache/cache_impl.hh
vendored
14
src/mem/cache/cache_impl.hh
vendored
|
@ -570,8 +570,10 @@ Cache<TagStore,Coherence>::access(PacketPtr &pkt)
|
|||
}
|
||||
}
|
||||
while (!writebacks.empty()) {
|
||||
missQueue->doWriteback(writebacks.front());
|
||||
PacketPtr wbPkt = writebacks.front();
|
||||
missQueue->doWriteback(wbPkt);
|
||||
writebacks.pop_front();
|
||||
delete wbPkt;
|
||||
}
|
||||
|
||||
DPRINTF(Cache, "%s %x %s\n", pkt->cmdString(), pkt->getAddr(),
|
||||
|
@ -721,8 +723,10 @@ Cache<TagStore,Coherence>::handleResponse(PacketPtr &pkt)
|
|||
blk = handleFill(blk, (MSHR*)pkt->senderState,
|
||||
new_state, writebacks, pkt);
|
||||
while (!writebacks.empty()) {
|
||||
missQueue->doWriteback(writebacks.front());
|
||||
writebacks.pop_front();
|
||||
PacketPtr wbPkt = writebacks.front();
|
||||
missQueue->doWriteback(wbPkt);
|
||||
writebacks.pop_front();
|
||||
delete wbPkt;
|
||||
}
|
||||
}
|
||||
missQueue->handleResponse(pkt, curTick + hitLatency);
|
||||
|
@ -1040,8 +1044,10 @@ return 0;
|
|||
// There was a cache hit.
|
||||
// Handle writebacks if needed
|
||||
while (!writebacks.empty()){
|
||||
memSidePort->sendAtomic(writebacks.front());
|
||||
PacketPtr wbPkt = writebacks.front();
|
||||
memSidePort->sendAtomic(wbPkt);
|
||||
writebacks.pop_front();
|
||||
delete wbPkt;
|
||||
}
|
||||
|
||||
hits[pkt->cmdToIndex()][0/*pkt->req->getThreadNum()*/]++;
|
||||
|
|
Loading…
Reference in a new issue