From b6f965d2967c77cdf8f4bff26b838ee6a5ca6d1a Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Wed, 23 Nov 2022 14:24:45 +0000 Subject: Change well known class loader methods to `ArtMethod*`. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: atest CtsJdwpTestCases Change-Id: I7b94a481304f8899bcb828ed5875fe165dd90dda --- runtime/jni/java_vm_ext.cc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'runtime/jni/java_vm_ext.cc') diff --git a/runtime/jni/java_vm_ext.cc b/runtime/jni/java_vm_ext.cc index c55c7be10b..f1d4c3b305 100644 --- a/runtime/jni/java_vm_ext.cc +++ b/runtime/jni/java_vm_ext.cc @@ -52,7 +52,7 @@ #include "thread-inl.h" #include "thread_list.h" #include "ti/agent.h" -#include "well_known_classes.h" +#include "well_known_classes-inl.h" namespace art { @@ -1185,12 +1185,14 @@ jstring JavaVMExt::GetLibrarySearchPath(JNIEnv* env, jobject class_loader) { if (class_loader == nullptr) { return nullptr; } - if (!env->IsInstanceOf(class_loader, WellKnownClasses::dalvik_system_BaseDexClassLoader)) { + ScopedObjectAccess soa(env); + ObjPtr mirror_class_loader = soa.Decode(class_loader); + if (!mirror_class_loader->InstanceOf(WellKnownClasses::dalvik_system_BaseDexClassLoader.Get())) { return nullptr; } - return reinterpret_cast(env->CallObjectMethod( - class_loader, - WellKnownClasses::dalvik_system_BaseDexClassLoader_getLdLibraryPath)); + return soa.AddLocalReference( + WellKnownClasses::dalvik_system_BaseDexClassLoader_getLdLibraryPath->InvokeVirtual<'L'>( + soa.Self(), mirror_class_loader)); } // JNI Invocation interface. -- cgit v1.2.3-59-g8ed1b