| Index: runtime/vm/simulator_arm.cc
|
| diff --git a/runtime/vm/simulator_arm.cc b/runtime/vm/simulator_arm.cc
|
| index 5c45599afe31f7d8b56016b607eb5721424e659f..69c4e611ab610ca77372c1e11ae6f188259c5053 100644
|
| --- a/runtime/vm/simulator_arm.cc
|
| +++ b/runtime/vm/simulator_arm.cc
|
| @@ -827,6 +827,16 @@ class Redirection {
|
| return reinterpret_cast<Redirection*>(addr_of_redirection);
|
| }
|
|
|
| + static uword FunctionForRedirect(uword address_of_svc) {
|
| + Redirection* current;
|
| + for (current = list_; current != NULL; current = current->next_) {
|
| + if (current->address_of_svc_instruction() == address_of_svc) {
|
| + return current->external_function_;
|
| + }
|
| + }
|
| + return 0;
|
| + }
|
| +
|
| private:
|
| static const int32_t kRedirectSvcInstruction =
|
| ((AL << kConditionShift) | (0xf << 24) | kRedirectionSvcCode);
|
| @@ -862,6 +872,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();
|
|
|