base_set_assoc.hh (12548:285f1792a2da) | base_set_assoc.hh (12554:86264baddf36) |
---|---|
1/* 2 * Copyright (c) 2012-2014 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 243 unchanged lines hidden (view full) --- 252 // If we're replacing a block that was previously valid update 253 // stats for it. This can't be done in findBlock() because a 254 // found block might not actually be replaced there if the 255 // coherence protocol says it can't be. 256 if (blk->isValid()) { 257 replacements[0]++; 258 totalRefs += blk->refCount; 259 ++sampledRefs; | 1/* 2 * Copyright (c) 2012-2014 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 243 unchanged lines hidden (view full) --- 252 // If we're replacing a block that was previously valid update 253 // stats for it. This can't be done in findBlock() because a 254 // found block might not actually be replaced there if the 255 // coherence protocol says it can't be. 256 if (blk->isValid()) { 257 replacements[0]++; 258 totalRefs += blk->refCount; 259 ++sampledRefs; |
260 blk->refCount = 0; | |
261 | 260 |
262 // deal with evicted block 263 assert(blk->srcMasterId < cache->system->maxMasters()); 264 occupancies[blk->srcMasterId]--; 265 | 261 invalidate(blk); |
266 blk->invalidate(); 267 } 268 269 blk->isTouched = true; 270 271 // Set tag for new block. Caller is responsible for setting status. 272 blk->tag = extractTag(addr); 273 --- 98 unchanged lines hidden --- | 262 blk->invalidate(); 263 } 264 265 blk->isTouched = true; 266 267 // Set tag for new block. Caller is responsible for setting status. 268 blk->tag = extractTag(addr); 269 --- 98 unchanged lines hidden --- |