summaryrefslogtreecommitdiff
path: root/runtime/entrypoints/entrypoint_utils.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2017-01-19 14:22:26 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2017-01-26 10:37:58 +0000
commit5b3c6c0fcca76d82a4c9acb03f7714457ae53dd9 (patch)
treee1678dcd577abb63391a0cfcbb27a69a0ac4e769 /runtime/entrypoints/entrypoint_utils.cc
parentc9569731061e560cb56116255b00a49d6a5daeb8 (diff)
Refactor code for unresolved field entrypoint.
- Do macro magic to avoid source code duplication. - Do not fetch the referrer from the assembly, but from the C entrypoint instead. Test: test-art-host test-art-target Change-Id: Ib139c94bc8f74686640cad538ba75dc56fa00e1d
Diffstat (limited to 'runtime/entrypoints/entrypoint_utils.cc')
-rw-r--r--runtime/entrypoints/entrypoint_utils.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/runtime/entrypoints/entrypoint_utils.cc b/runtime/entrypoints/entrypoint_utils.cc
index 25fd727968..06c11f5101 100644
--- a/runtime/entrypoints/entrypoint_utils.cc
+++ b/runtime/entrypoints/entrypoint_utils.cc
@@ -254,5 +254,10 @@ CallerAndOuterMethod GetCalleeSaveMethodCallerAndOuterMethod(Thread* self,
return result;
}
+ArtMethod* GetCalleeSaveOuterMethod(Thread* self, Runtime::CalleeSaveType type) {
+ ScopedAssertNoThreadSuspension ants(__FUNCTION__);
+ ArtMethod** sp = self->GetManagedStack()->GetTopQuickFrame();
+ return DoGetCalleeSaveMethodOuterCallerAndPc(sp, type).first;
+}
} // namespace art