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:
Nilay Vaish 2012-02-10 11:29:02 -06:00
parent 69d8600bf8
commit aa513a4a99
2 changed files with 7 additions and 9 deletions

View file

@ -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

View file

@ -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);