| Index: src/arm/simulator-arm.cc
|
| diff --git a/src/arm/simulator-arm.cc b/src/arm/simulator-arm.cc
|
| index 716e804e3a37986d72eab2ea1a98695d8c306817..cf58c2749e9b8339b2b5158f65a0508d7b7c5c4f 100644
|
| --- a/src/arm/simulator-arm.cc
|
| +++ b/src/arm/simulator-arm.cc
|
| @@ -390,7 +390,7 @@ void ArmDebugger::Debug() {
|
| reinterpret_cast<intptr_t>(cur), *cur, *cur);
|
| HeapObject* obj = reinterpret_cast<HeapObject*>(*cur);
|
| int value = *cur;
|
| - Heap* current_heap = v8::internal::Isolate::Current()->heap();
|
| + Heap* current_heap = sim_->isolate_->heap();
|
| if (((value & 1) == 0) || current_heap->Contains(obj)) {
|
| PrintF(" (");
|
| if ((value & 1) == 0) {
|
| @@ -785,12 +785,12 @@ Simulator::~Simulator() { free(stack_); }
|
| // offset from the svc instruction so the simulator knows what to call.
|
| class Redirection {
|
| public:
|
| - Redirection(void* external_function, ExternalReference::Type type)
|
| + Redirection(Isolate* isolate, void* external_function,
|
| + ExternalReference::Type type)
|
| : external_function_(external_function),
|
| - swi_instruction_(al | (0xf*B24) | kCallRtRedirected),
|
| + swi_instruction_(al | (0xf * B24) | kCallRtRedirected),
|
| type_(type),
|
| next_(NULL) {
|
| - Isolate* isolate = Isolate::Current();
|
| next_ = isolate->simulator_redirection();
|
| Simulator::current(isolate)->
|
| FlushICache(isolate->simulator_i_cache(),
|
| @@ -806,9 +806,8 @@ class Redirection {
|
| void* external_function() { return external_function_; }
|
| ExternalReference::Type type() { return type_; }
|
|
|
| - static Redirection* Get(void* external_function,
|
| + static Redirection* Get(Isolate* isolate, void* external_function,
|
| ExternalReference::Type type) {
|
| - Isolate* isolate = Isolate::Current();
|
| Redirection* current = isolate->simulator_redirection();
|
| for (; current != NULL; current = current->next_) {
|
| if (current->external_function_ == external_function) {
|
| @@ -816,7 +815,7 @@ class Redirection {
|
| return current;
|
| }
|
| }
|
| - return new Redirection(external_function, type);
|
| + return new Redirection(isolate, external_function, type);
|
| }
|
|
|
| static Redirection* FromSwiInstruction(Instruction* swi_instruction) {
|
| @@ -861,9 +860,10 @@ void Simulator::TearDown(HashMap* i_cache, Redirection* first) {
|
| }
|
|
|
|
|
| -void* Simulator::RedirectExternalReference(void* external_function,
|
| +void* Simulator::RedirectExternalReference(Isolate* isolate,
|
| + void* external_function,
|
| ExternalReference::Type type) {
|
| - Redirection* redirection = Redirection::Get(external_function, type);
|
| + Redirection* redirection = Redirection::Get(isolate, external_function, type);
|
| return redirection->address_of_swi_instruction();
|
| }
|
|
|
|
|