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