| Index: src/ppc/simulator-ppc.cc
|
| diff --git a/src/ppc/simulator-ppc.cc b/src/ppc/simulator-ppc.cc
|
| index 2816a8775190e3b57f74d2a5c5463cdbba28b563..84fbb399b3ecf5e5078e5f63af1c0410e3a9948b 100644
|
| --- a/src/ppc/simulator-ppc.cc
|
| +++ b/src/ppc/simulator-ppc.cc
|
| @@ -658,9 +658,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;
|
| @@ -680,8 +679,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();
|
| @@ -692,7 +691,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);
|
| @@ -704,7 +704,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));
|
| @@ -737,7 +738,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);
|
| @@ -872,7 +873,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;
|
|
|