diff options
Diffstat (limited to 'src/mem/ruby/system/CacheMemory.cc')
-rw-r--r-- | src/mem/ruby/system/CacheMemory.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mem/ruby/system/CacheMemory.cc b/src/mem/ruby/system/CacheMemory.cc index 9f1fe6320..393612355 100644 --- a/src/mem/ruby/system/CacheMemory.cc +++ b/src/mem/ruby/system/CacheMemory.cc @@ -339,12 +339,12 @@ CacheMemory::lookup(const Address& address) const void CacheMemory::setMRU(const Address& address) { - Index cacheSet; + Index cacheSet = addressToCacheSet(address); + int loc = findTagInSet(cacheSet, address); - cacheSet = addressToCacheSet(address); - m_replacementPolicy_ptr-> - touch(cacheSet, findTagInSet(cacheSet, address), - g_eventQueue_ptr->getTime()); + if(loc != -1) + m_replacementPolicy_ptr-> + touch(cacheSet, loc, g_eventQueue_ptr->getTime()); } void |