Index: src/s390/simulator-s390.cc |
diff --git a/src/s390/simulator-s390.cc b/src/s390/simulator-s390.cc |
index 91db78226b23f82fc7ee20546ccfb60a0ddd2f1a..78bc9398429a6634fd331793150a3d02fa98864d 100644 |
--- a/src/s390/simulator-s390.cc |
+++ b/src/s390/simulator-s390.cc |
@@ -660,8 +660,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; |
@@ -681,7 +681,8 @@ void Simulator::FlushICache(base::HashMap* i_cache, void* start_addr, |
} |
} |
-CachePage* Simulator::GetCachePage(base::HashMap* i_cache, void* page) { |
+CachePage* Simulator::GetCachePage(base::CustomMatcherHashMap* i_cache, |
+ void* page) { |
base::HashMap::Entry* entry = i_cache->LookupOrInsert(page, ICacheHash(page)); |
if (entry->value == NULL) { |
CachePage* new_page = new CachePage(); |
@@ -691,7 +692,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); |
@@ -703,7 +705,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)); |
@@ -1469,7 +1472,7 @@ void Simulator::EvalTableInit() { |
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); |
@@ -1609,7 +1612,8 @@ 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; |