Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(877)

Unified Diff: runtime/vm/simulator_arm.cc

Issue 718393005: Enable the profiler on the simulator (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698