Ruby: Remove isTagPresent() calls from Sequencer.cc
This patch removes the calls to isTagPresent() from Sequencer.cc. These calls are made just for setting the cache block to have been most recently used. The calls have been folded in to the function setMRU().
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -482,11 +482,9 @@ Sequencer::hitCallback(SequencerRequest* srequest,
|
||||
|
||||
// Set this cache entry to the most recently used
|
||||
if (type == RubyRequestType_IFETCH) {
|
||||
if (m_instCache_ptr->isTagPresent(request_line_address))
|
||||
m_instCache_ptr->setMRU(request_line_address);
|
||||
m_instCache_ptr->setMRU(request_line_address);
|
||||
} else {
|
||||
if (m_dataCache_ptr->isTagPresent(request_line_address))
|
||||
m_dataCache_ptr->setMRU(request_line_address);
|
||||
m_dataCache_ptr->setMRU(request_line_address);
|
||||
}
|
||||
|
||||
assert(g_eventQueue_ptr->getTime() >= issued_time);
|
||||
|
||||
Reference in New Issue
Block a user