| 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();
 | 
|  }
 | 
|  
 | 
| 
 |