Index: src/mips/simulator-mips.cc |
diff --git a/src/mips/simulator-mips.cc b/src/mips/simulator-mips.cc |
index 19c1d0493ae0958c60eb719b128632091ce7ffac..bd423996d81a87ae48f3b17df7840fe62a854727 100644 |
--- a/src/mips/simulator-mips.cc |
+++ b/src/mips/simulator-mips.cc |
@@ -808,8 +808,8 @@ void Simulator::set_last_debugger_input(char* input) { |
last_debugger_input_ = input; |
} |
-void Simulator::FlushICache(base::HashMap* i_cache, void* start_addr, |
- size_t size) { |
+void Simulator::FlushICache(base::CustomMatcherHashMap* i_cache, |
+ void* start_addr, size_t size) { |
intptr_t start = reinterpret_cast<intptr_t>(start_addr); |
int intra_line = (start & CachePage::kLineMask); |
start -= intra_line; |
@@ -829,8 +829,10 @@ void Simulator::FlushICache(base::HashMap* i_cache, void* start_addr, |
} |
} |
-CachePage* Simulator::GetCachePage(base::HashMap* i_cache, void* page) { |
- base::HashMap::Entry* entry = i_cache->LookupOrInsert(page, ICacheHash(page)); |
+CachePage* Simulator::GetCachePage(base::CustomMatcherHashMap* i_cache, |
+ void* page) { |
+ base::CustomMatcherHashMap::Entry* entry = |
+ i_cache->LookupOrInsert(page, ICacheHash(page)); |
if (entry->value == NULL) { |
CachePage* new_page = new CachePage(); |
entry->value = new_page; |
@@ -840,7 +842,8 @@ CachePage* Simulator::GetCachePage(base::HashMap* i_cache, void* page) { |
// Flush from start up to and not including start + size. |
-void Simulator::FlushOnePage(base::HashMap* i_cache, intptr_t start, int size) { |
+void Simulator::FlushOnePage(base::CustomMatcherHashMap* i_cache, |
+ intptr_t start, int size) { |
DCHECK(size <= CachePage::kPageSize); |
DCHECK(AllOnOnePage(start, size - 1)); |
DCHECK((start & CachePage::kLineMask) == 0); |
@@ -852,7 +855,8 @@ void Simulator::FlushOnePage(base::HashMap* i_cache, intptr_t start, int size) { |
memset(valid_bytemap, CachePage::LINE_INVALID, size >> CachePage::kLineShift); |
} |
-void Simulator::CheckICache(base::HashMap* i_cache, Instruction* instr) { |
+void Simulator::CheckICache(base::CustomMatcherHashMap* i_cache, |
+ Instruction* instr) { |
intptr_t address = reinterpret_cast<intptr_t>(instr); |
void* page = reinterpret_cast<void*>(address & (~CachePage::kPageMask)); |
void* line = reinterpret_cast<void*>(address & (~CachePage::kLineMask)); |
@@ -885,7 +889,7 @@ void Simulator::Initialize(Isolate* isolate) { |
Simulator::Simulator(Isolate* isolate) : isolate_(isolate) { |
i_cache_ = isolate_->simulator_i_cache(); |
if (i_cache_ == NULL) { |
- i_cache_ = new base::HashMap(&ICacheMatch); |
+ i_cache_ = new base::CustomMatcherHashMap(&ICacheMatch); |
isolate_->set_simulator_i_cache(i_cache_); |
} |
Initialize(isolate); |
@@ -997,11 +1001,12 @@ class Redirection { |
// static |
-void Simulator::TearDown(base::HashMap* i_cache, Redirection* first) { |
+void Simulator::TearDown(base::CustomMatcherHashMap* i_cache, |
+ Redirection* first) { |
Redirection::DeleteChain(first); |
if (i_cache != nullptr) { |
- for (base::HashMap::Entry* entry = i_cache->Start(); entry != nullptr; |
- entry = i_cache->Next(entry)) { |
+ for (base::CustomMatcherHashMap::Entry* entry = i_cache->Start(); |
+ entry != nullptr; entry = i_cache->Next(entry)) { |
delete static_cast<CachePage*>(entry->value); |
} |
delete i_cache; |