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/TBETable.hh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/mem/ruby/system/TBETable.hh') diff --git a/src/mem/ruby/system/TBETable.hh b/src/mem/ruby/system/TBETable.hh index fa1e6c8dd..da33cc9d2 100644 --- a/src/mem/ruby/system/TBETable.hh +++ b/src/mem/ruby/system/TBETable.hh @@ -31,7 +31,7 @@ #include -#include "mem/gems_common/Map.hh" +#include "base/hashmap.hh" #include "mem/ruby/common/Address.hh" #include "mem/ruby/common/Global.hh" #include "mem/ruby/profiler/Profiler.hh" @@ -73,7 +73,7 @@ class TBETable TBETable& operator=(const TBETable& obj); // Data Members (m_prefix) - Map m_map; + m5::hash_map m_map; private: int m_number_of_TBEs; @@ -94,23 +94,23 @@ TBETable::isPresent(const Address& address) const { assert(address == line_address(address)); assert(m_map.size() <= m_number_of_TBEs); - return m_map.exist(address); + return !!m_map.count(address); } template inline void TBETable::allocate(const Address& address) { - assert(isPresent(address) == false); + assert(!isPresent(address)); assert(m_map.size() < m_number_of_TBEs); - m_map.add(address, ENTRY()); + m_map[address] = ENTRY(); } template inline void TBETable::deallocate(const Address& address) { - assert(isPresent(address) == true); + assert(isPresent(address)); assert(m_map.size() > 0); m_map.erase(address); } @@ -120,8 +120,8 @@ template inline ENTRY& TBETable::lookup(const Address& address) { - assert(isPresent(address) == true); - return m_map.lookup(address); + assert(isPresent(address)); + return m_map.find(address)->second; } // looks an address up in the cache @@ -129,8 +129,8 @@ template inline const ENTRY& TBETable::lookup(const Address& address) const { - assert(isPresent(address) == true); - return m_map.lookup(address); + assert(isPresent(address)); + return m_map.find(address)->second; } template -- cgit v1.2.3