From 552f220a1c5f481293bf47b21726635a0e5df601 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Tue, 20 Sep 2011 12:08:34 -0700 Subject: Change the VMStack interface used by serialization. (cherry picked from commit 8b44bdb6063816eeb90da6b4f8aa3ed9f38fe140) Change-Id: I5da041caa3037a4093f05dec4e03aed4f466a21d --- luni/src/main/java/java/io/ObjectInputStream.java | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) (limited to 'luni') diff --git a/luni/src/main/java/java/io/ObjectInputStream.java b/luni/src/main/java/java/io/ObjectInputStream.java index 0476901..0b15161 100644 --- a/luni/src/main/java/java/io/ObjectInputStream.java +++ b/luni/src/main/java/java/io/ObjectInputStream.java @@ -2000,7 +2000,7 @@ public class ObjectInputStream extends InputStream implements ObjectInput, Objec // original/outside caller if (++nestedLevels == 1) { // Remember the caller's class loader - callerClassLoader = getClosestUserClassLoader(); + callerClassLoader = VMStack.getClosestUserClassLoader(bootstrapLoader, systemLoader); } result = readNonPrimitiveContent(unshared); @@ -2041,23 +2041,6 @@ public class ObjectInputStream extends InputStream implements ObjectInput, Objec private static final ClassLoader systemLoader = ClassLoader.getSystemClassLoader(); /** - * Searches up the call stack to find the closest user-defined class loader. - * - * @return a user-defined class loader or null if one isn't found - */ - private static ClassLoader getClosestUserClassLoader() { - Class[] stackClasses = VMStack.getClasses(-1); - for (Class stackClass : stackClasses) { - ClassLoader loader = stackClass.getClassLoader(); - if (loader != null && loader != bootstrapLoader - && loader != systemLoader) { - return loader; - } - } - return null; - } - - /** * Method to be overridden by subclasses to read the next object from the * source stream. * -- cgit v1.1