Index: runtime/vm/simulator_mips.cc |
diff --git a/runtime/vm/simulator_mips.cc b/runtime/vm/simulator_mips.cc |
index 62c81f739359e3776e2672d0d71a105bcd5f31d0..09109c0de03c397c69fd8ca98d38647f8ced0238 100644 |
--- a/runtime/vm/simulator_mips.cc |
+++ b/runtime/vm/simulator_mips.cc |
@@ -656,6 +656,16 @@ class Redirection { |
return reinterpret_cast<Redirection*>(addr_of_redirection); |
} |
+ static uword FunctionForRedirect(uword address_of_break) { |
+ Redirection* current; |
+ for (current = list_; current != NULL; current = current->next_) { |
+ if (current->address_of_break_instruction() == address_of_break) { |
+ return current->external_function_; |
+ } |
+ } |
+ return 0; |
+ } |
+ |
private: |
static const int32_t kRedirectInstruction = |
Instr::kBreakPointInstruction | (Instr::kRedirectCode << kBreakCodeShift); |
@@ -692,6 +702,11 @@ uword Simulator::RedirectExternalReference(uword function, |
} |
+uword Simulator::FunctionForRedirect(uword redirect) { |
+ return Redirection::FunctionForRedirect(redirect); |
+} |
+ |
+ |
// Get the active Simulator for the current isolate. |
Simulator* Simulator::Current() { |
Simulator* simulator = Isolate::Current()->simulator(); |