diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-01 19:58:25 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-01 19:58:25 +0000 |
commit | 5c3bdf2ff4ad050d842ad73ffd0a679170cb0d62 (patch) | |
tree | 12419b4dbd84dc19200216a422ba5bca825d6f32 /libjava/java/io/natObjectInputStream.cc | |
parent | ebcbc3356a31213c614cd9067a88d7b42eebe9ec (diff) | |
download | ppe42-gcc-5c3bdf2ff4ad050d842ad73ffd0a679170cb0d62.tar.gz ppe42-gcc-5c3bdf2ff4ad050d842ad73ffd0a679170cb0d62.zip |
PR libgcj/21785:
* java/io/natObjectInputStream.cc (currentClassLoader): Removed.
(currentLoader): New method.
* java/io/ObjectInputStream.java (resolveProxyClass): Use
currentLoader.
(currentLoader): Now native.
(currentClassLoader): Removed.
* testsuite/libjava.lang/pr21785.java: New file.
* testsuite/libjava.lang/pr21785.out: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100462 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/io/natObjectInputStream.cc')
-rw-r--r-- | libjava/java/io/natObjectInputStream.cc | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/libjava/java/io/natObjectInputStream.cc b/libjava/java/io/natObjectInputStream.cc index 0e0d5a719cc..2d1a55665d1 100644 --- a/libjava/java/io/natObjectInputStream.cc +++ b/libjava/java/io/natObjectInputStream.cc @@ -1,6 +1,6 @@ // natObjectInputStream.cc - Native part of ObjectInputStream class. -/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation +/* Copyright (C) 1998, 1999, 2000, 2001, 2005 Free Software Foundation This ObjectInputStream is part of libgcj. @@ -24,6 +24,7 @@ details. */ #include <java/lang/SecurityManager.h> #include <java/lang/reflect/Constructor.h> #include <java/lang/reflect/Method.h> +#include <java-stack.h> #ifdef DEBUG #include <java/lang/System.h> @@ -69,9 +70,11 @@ java::io::ObjectInputStream::allocateObject (jclass klass, jclass, return obj; } -java::lang::ClassLoader* -java::io::ObjectInputStream::currentClassLoader (::java::lang::SecurityManager *sm) +java::lang::ClassLoader * +java::io::ObjectInputStream::currentLoader () { - return sm->currentClassLoader (); + jclass caller = _Jv_StackTrace::GetCallingClass (&ObjectInputStream::class$); + if (caller) + return caller->getClassLoaderInternal(); + return NULL; } - |