| Index: runtime/vm/simulator_arm.cc
|
| diff --git a/runtime/vm/simulator_arm.cc b/runtime/vm/simulator_arm.cc
|
| index 399079c9efd65c9645567764da5601f1db1eee04..6532308ca0a7b6613798f7be60bd4530c9edb701 100644
|
| --- a/runtime/vm/simulator_arm.cc
|
| +++ b/runtime/vm/simulator_arm.cc
|
| @@ -786,6 +786,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);
|
| @@ -821,6 +831,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();
|
|
|