mem: Always use the helper function to invalidate a block
authorNikos Nikoleris <nikos.nikoleris@arm.com>
Tue, 21 Feb 2017 14:14:44 +0000 (14:14 +0000)
committerNikos Nikoleris <nikos.nikoleris@arm.com>
Tue, 21 Feb 2017 14:14:44 +0000 (14:14 +0000)
Policies like the LRU need to be notified when a block is invalidated,
the helper function does this along with invalidating the block.

Change-Id: I3ed59cf07938caa7f394ee6054b0af9e00b267ea
Reviewed-by: Andreas Hansson <andreas.hansson@arm.com>
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
src/mem/cache/cache.cc

index 95fa57a6e11bb5be80d6412120c3292ece49d890..05fb487348be7466fb82dd88603ff3c9e11d1baf 100644 (file)
@@ -305,8 +305,7 @@ Cache::access(PacketPtr pkt, CacheBlk *&blk, Cycles &lat,
                 writebacks.push_back(writebackBlk(old_blk));
             else
                 writebacks.push_back(cleanEvictBlk(old_blk));
-            tags->invalidate(old_blk);
-            old_blk->invalidate();
+            invalidateBlock(old_blk);
         }
 
         blk = nullptr;
@@ -1127,7 +1126,7 @@ Cache::recvAtomic(PacketPtr pkt)
 
         tempBlockWriteback = (blk->isDirty() || writebackClean) ?
             writebackBlk(blk) : cleanEvictBlk(blk);
-        blk->invalidate();
+        invalidateBlock(blk);
     }
 
     if (pkt->needsResponse()) {
@@ -1531,7 +1530,7 @@ Cache::recvTimingResp(PacketPtr pkt)
             else
                 allocateWriteBuffer(wcPkt, forward_time);
         }
-        blk->invalidate();
+        invalidateBlock(blk);
     }
 
     DPRINTF(CacheVerbose, "%s: Leaving with %s\n", __func__, pkt->print());
@@ -1660,8 +1659,7 @@ Cache::invalidateVisitor(CacheBlk &blk)
 
     if (blk.isValid()) {
         assert(!blk.isDirty());
-        tags->invalidate(&blk);
-        blk.invalidate();
+        invalidateBlock(&blk);
     }
 
     return true;