From 1ed1a1320c89a143a8139d331a05d47ed3db64f7 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Tue, 1 Dec 2015 01:20:00 +0000 Subject: [PATCH] Revert "Change LoadNativeLibrary to use GetOrCreateAllocator" This reverts commit 2d902b99bba7ae1ad77ebeb038a4ef63c3ed6399. Change-Id: I4a674844f2f6d76d1c33741b46f12417ec7eab35 --- runtime/java_vm_ext.cc | 2 +- test/068-classloader/expected.txt | 1 - test/068-classloader/src/FancyLoader.java | 2 +- test/068-classloader/src/Main.java | 24 ------------------------ 4 files changed, 2 insertions(+), 27 deletions(-) diff --git a/runtime/java_vm_ext.cc b/runtime/java_vm_ext.cc index 58da7f285..7cc05f7cd 100644 --- a/runtime/java_vm_ext.cc +++ b/runtime/java_vm_ext.cc @@ -736,7 +736,7 @@ bool JavaVMExt::LoadNativeLibrary(JNIEnv* env, const std::string& path, jobject // it's okay to decode it without worrying about unexpectedly marking it alive. mirror::ClassLoader* loader = soa.Decode(class_loader); class_loader_allocator = - Runtime::Current()->GetClassLinker()->GetOrCreateAllocatorForClassLoader(loader); + Runtime::Current()->GetClassLinker()->GetAllocatorForClassLoader(loader); CHECK(class_loader_allocator != nullptr); } if (library != nullptr) { diff --git a/test/068-classloader/expected.txt b/test/068-classloader/expected.txt index 36e4f4872..8725799fe 100644 --- a/test/068-classloader/expected.txt +++ b/test/068-classloader/expected.txt @@ -13,4 +13,3 @@ Got LinkageError on DI (early) Got LinkageError on IDI (early) class Main Got expected ClassNotFoundException -JNI_OnLoad called diff --git a/test/068-classloader/src/FancyLoader.java b/test/068-classloader/src/FancyLoader.java index b8eac7b52..6a153cc9e 100644 --- a/test/068-classloader/src/FancyLoader.java +++ b/test/068-classloader/src/FancyLoader.java @@ -38,7 +38,7 @@ public class FancyLoader extends ClassLoader { static final String CLASS_PATH = "classes-ex/"; /* this is the "alternate" DEX/Jar file */ - public static final String DEX_FILE = System.getenv("DEX_LOCATION") + "/068-classloader-ex.jar"; + static final String DEX_FILE = System.getenv("DEX_LOCATION") + "/068-classloader-ex.jar"; /* on Dalvik, this is a DexFile; otherwise, it's null */ private Class mDexClass; diff --git a/test/068-classloader/src/Main.java b/test/068-classloader/src/Main.java index e3bf82c8c..361e2938e 100644 --- a/test/068-classloader/src/Main.java +++ b/test/068-classloader/src/Main.java @@ -14,8 +14,6 @@ * limitations under the License. */ -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; /** * Class loader test. */ @@ -64,28 +62,6 @@ public class Main { testSeparation(); testClassForName(); - - // Attempt to load without a class table, regression test for b/25866849. - testLoadNativeLibrary(args[0]); - } - - static void testLoadNativeLibrary(String libName) throws Exception { - Class pathClassLoader = Class.forName("dalvik.system.PathClassLoader"); - if (pathClassLoader == null) { - throw new AssertionError("Couldn't find path class loader class"); - } - Constructor constructor = - pathClassLoader.getDeclaredConstructor(String.class, ClassLoader.class); - ClassLoader loader = (ClassLoader) constructor.newInstance( - FancyLoader.DEX_FILE, ClassLoader.getSystemClassLoader()); - Runtime runtime = Runtime.getRuntime(); - Method method = runtime.getClass().getDeclaredMethod("loadLibrary", String.class, - ClassLoader.class); - if (method == null) { - throw new RuntimeException("loadLibrary not found"); - } - method.setAccessible(true); - method.invoke(runtime, libName, loader); } static void testSeparation() { -- 2.11.0