| Index: src/mips64/simulator-mips64.cc
|
| diff --git a/src/mips64/simulator-mips64.cc b/src/mips64/simulator-mips64.cc
|
| index 248031606fd10bc8a157ce9beced8910bcad8fd0..02387d0f4fae6bb37ab1773b7ffb43d162f1f477 100644
|
| --- a/src/mips64/simulator-mips64.cc
|
| +++ b/src/mips64/simulator-mips64.cc
|
| @@ -741,8 +741,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) {
|
| int64_t start = reinterpret_cast<int64_t>(start_addr);
|
| int64_t intra_line = (start & CachePage::kLineMask);
|
| start -= intra_line;
|
| @@ -762,7 +762,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();
|
| @@ -773,8 +774,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,
|
| - size_t size) {
|
| +void Simulator::FlushOnePage(base::CustomMatcherHashMap* i_cache,
|
| + intptr_t start, size_t size) {
|
| DCHECK(size <= CachePage::kPageSize);
|
| DCHECK(AllOnOnePage(start, size - 1));
|
| DCHECK((start & CachePage::kLineMask) == 0);
|
| @@ -786,7 +787,8 @@ void Simulator::FlushOnePage(base::HashMap* i_cache, intptr_t start,
|
| 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) {
|
| int64_t address = reinterpret_cast<int64_t>(instr);
|
| void* page = reinterpret_cast<void*>(address & (~CachePage::kPageMask));
|
| void* line = reinterpret_cast<void*>(address & (~CachePage::kLineMask));
|
| @@ -819,7 +821,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);
|
| @@ -933,7 +935,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;
|
|
|