diff options
author | Ali Saidi <Ali.Saidi@ARM.com> | 2011-08-19 15:08:08 -0500 |
---|---|---|
committer | Ali Saidi <Ali.Saidi@ARM.com> | 2011-08-19 15:08:08 -0500 |
commit | c9c2d979b8c505d0013beb4b4b3e1885963e8d39 (patch) | |
tree | 69b225aaeaab53bfcdfaccd8750241f7d68b19c6 /src/mem | |
parent | 2fd2b44b86c3d40e76f1e1641001074230208b3f (diff) | |
download | gem5-c9c2d979b8c505d0013beb4b4b3e1885963e8d39.tar.xz |
Mem: Put prefetcher notify call before packet is deleted.
Diffstat (limited to 'src/mem')
-rw-r--r-- | src/mem/cache/cache_impl.hh | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index e9a40a741..b29d52f78 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -514,18 +514,18 @@ Cache<TagStore>::timingAccess(PacketPtr pkt) bool needsResponse = pkt->needsResponse(); if (satisfied) { + if (prefetcher && (prefetchOnAccess || (blk && blk->wasPrefetched()))) { + if (blk) + blk->status &= ~BlkHWPrefetched; + next_pf_time = prefetcher->notify(pkt, time); + } + if (needsResponse) { pkt->makeTimingResponse(); cpuSidePort->respond(pkt, curTick()+lat); } else { delete pkt; } - - if (prefetcher && (prefetchOnAccess || (blk && blk->wasPrefetched()))) { - if (blk) - blk->status &= ~BlkHWPrefetched; - next_pf_time = prefetcher->notify(pkt, time); - } } else { // miss |