diff options
author | 2018-05-10 08:22:46 +0100 | |
---|---|---|
committer | 2018-05-11 11:55:30 +0100 | |
commit | dbaa5c7ba8935cf87ceb40a4054f9842929e9a51 (patch) | |
tree | 5037625c80cb97a0e13026dc450db28e59ff72ca /runtime/entrypoints/entrypoint_utils.cc | |
parent | 51dda39549033b3c50a7fce5522ffc81325db54b (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.cc | 7 |
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(); |