summaryrefslogtreecommitdiff
path: root/runtime/entrypoints/entrypoint_utils.cc
diff options
context:
space:
mode:
author Orion Hodson <oth@google.com> 2018-05-10 08:22:46 +0100
committer Orion Hodson <oth@google.com> 2018-05-11 11:55:30 +0100
commitdbaa5c7ba8935cf87ceb40a4054f9842929e9a51 (patch)
tree5037625c80cb97a0e13026dc450db28e59ff72ca /runtime/entrypoints/entrypoint_utils.cc
parent51dda39549033b3c50a7fce5522ffc81325db54b (diff)
ART: Compiler support for const-method-handle
Implemented as a runtime call. Bug: 66890674 Test: art/test.py --target -r -t 979 Test: art/test.py --target --64 -r -t 979 Test: art/test.py --host -r -t 979 Change-Id: I67f461c819a7d528d7455afda8b4a59e9aed381c
Diffstat (limited to 'runtime/entrypoints/entrypoint_utils.cc')
-rw-r--r--runtime/entrypoints/entrypoint_utils.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/runtime/entrypoints/entrypoint_utils.cc b/runtime/entrypoints/entrypoint_utils.cc
index df184bc733..a58946ae66 100644
--- a/runtime/entrypoints/entrypoint_utils.cc
+++ b/runtime/entrypoints/entrypoint_utils.cc
@@ -260,6 +260,13 @@ ArtMethod* GetCalleeSaveOuterMethod(Thread* self, CalleeSaveType type) {
return DoGetCalleeSaveMethodOuterCallerAndPc(sp, type).first;
}
+ObjPtr<mirror::MethodHandle> ResolveMethodHandleFromCode(ArtMethod* referrer,
+ uint32_t method_handle_idx) {
+ Thread::PoisonObjectPointersIfDebug();
+ ClassLinker* class_linker = Runtime::Current()->GetClassLinker();
+ return class_linker->ResolveMethodHandle(Thread::Current(), method_handle_idx, referrer);
+}
+
ObjPtr<mirror::MethodType> ResolveMethodTypeFromCode(ArtMethod* referrer,
uint32_t proto_idx) {
Thread::PoisonObjectPointersIfDebug();