diff options
author | 2022-11-23 14:24:45 +0000 | |
---|---|---|
committer | 2022-11-29 08:41:31 +0000 | |
commit | b6f965d2967c77cdf8f4bff26b838ee6a5ca6d1a (patch) | |
tree | d66a451156965da02d8374e4658a21f5d542d304 /runtime/jni/java_vm_ext.cc | |
parent | e22e84bd127520b33d56bf0ad62aa2b99be06de3 (diff) |
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
Diffstat (limited to 'runtime/jni/java_vm_ext.cc')
-rw-r--r-- | runtime/jni/java_vm_ext.cc | 12 |
1 files changed, 7 insertions, 5 deletions
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::Object> mirror_class_loader = soa.Decode<mirror::Object>(class_loader); + if (!mirror_class_loader->InstanceOf(WellKnownClasses::dalvik_system_BaseDexClassLoader.Get())) { return nullptr; } - return reinterpret_cast<jstring>(env->CallObjectMethod( - class_loader, - WellKnownClasses::dalvik_system_BaseDexClassLoader_getLdLibraryPath)); + return soa.AddLocalReference<jstring>( + WellKnownClasses::dalvik_system_BaseDexClassLoader_getLdLibraryPath->InvokeVirtual<'L'>( + soa.Self(), mirror_class_loader)); } // JNI Invocation interface. |