From 3df84fd8a0ce3959c0deb4c206d910fc0d050f47 Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Thu, 10 Jun 2010 23:17:07 -0700 Subject: ruby: get rid of the Map class --- src/mem/ruby/system/PerfectCacheMemory.hh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/mem/ruby/system/PerfectCacheMemory.hh') diff --git a/src/mem/ruby/system/PerfectCacheMemory.hh b/src/mem/ruby/system/PerfectCacheMemory.hh index e1d816923..823dd7071 100644 --- a/src/mem/ruby/system/PerfectCacheMemory.hh +++ b/src/mem/ruby/system/PerfectCacheMemory.hh @@ -29,7 +29,7 @@ #ifndef __MEM_RUBY_SYSTEM_PERFECTCACHEMEMORY_HH__ #define __MEM_RUBY_SYSTEM_PERFECTCACHEMEMORY_HH__ -#include "mem/gems_common/Map.hh" +#include "base/hashmap.hh" #include "mem/protocol/AccessPermission.hh" #include "mem/ruby/common/Address.hh" #include "mem/ruby/common/Global.hh" @@ -94,7 +94,7 @@ class PerfectCacheMemory PerfectCacheMemory& operator=(const PerfectCacheMemory& obj); // Data Members (m_prefix) - Map > m_map; + m5::hash_map > m_map; }; template @@ -131,7 +131,7 @@ template inline bool PerfectCacheMemory::isTagPresent(const Address& address) const { - return m_map.exist(line_address(address)); + return m_map.count(line_address(address)) > 0; } template @@ -150,7 +150,7 @@ PerfectCacheMemory::allocate(const Address& address) PerfectCacheLineState line_state; line_state.m_permission = AccessPermission_Busy; line_state.m_entry = ENTRY(); - m_map.add(line_address(address), line_state); + m_map[line_address(address)] = line_state; } // deallocate entry @@ -174,7 +174,7 @@ template inline ENTRY& PerfectCacheMemory::lookup(const Address& address) { - return m_map.lookup(line_address(address)).m_entry; + return m_map[line_address(address)].m_entry; } // looks an address up in the cache @@ -182,14 +182,14 @@ template inline const ENTRY& PerfectCacheMemory::lookup(const Address& address) const { - return m_map.lookup(line_address(address)).m_entry; + return m_map[line_address(address)].m_entry; } template inline AccessPermission PerfectCacheMemory::getPermission(const Address& address) const { - return m_map.lookup(line_address(address)).m_permission; + return m_map[line_address(address)].m_permission; } template @@ -199,7 +199,7 @@ PerfectCacheMemory::changePermission(const Address& address, { Address line_address = address; line_address.makeLineAddress(); - PerfectCacheLineState& line_state = m_map.lookup(line_address); + PerfectCacheLineState& line_state = m_map[line_address]; AccessPermission old_perm = line_state.m_permission; line_state.m_permission = new_perm; } -- cgit v1.2.3