From 92ce2b59743c8cace420147e276d7376a4b905f1 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Sat, 21 Jul 2007 18:18:42 -0700 Subject: Deal with invalidations intersecting outstanding upgrades. If the invalidation beats the upgrade at a lower level then the upgrade must be converted to a read exclusive "in the field". Restructure target list & deferred target list to factor out some common code. --HG-- extra : convert_revision : 7bab4482dd6c48efdb619610f0d3778c60ff777a --- src/mem/cache/cache_impl.hh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/mem/cache/cache_impl.hh') diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index b78360d4a..9fb5cdbde 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -836,7 +836,7 @@ Cache::handleFill(PacketPtr pkt, BlkType *blk, // must be an outstanding upgrade request on block // we're about to replace... assert(!blk->isWritable()); - assert(repl_mshr->needsExclusive); + assert(repl_mshr->needsExclusive()); // too hard to replace block with transient state; // just use temporary storage to complete the current // request and then get rid of it @@ -1177,7 +1177,7 @@ Cache::getTimingPacket() pkt = tgt_pkt; } else { BlkType *blk = tags->findBlock(mshr->addr); - pkt = getBusPacket(tgt_pkt, blk, mshr->needsExclusive); + pkt = getBusPacket(tgt_pkt, blk, mshr->needsExclusive()); mshr->isCacheFill = (pkt != NULL); -- cgit v1.2.3