diff options
author | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-01 01:17:24 +0000 |
---|---|---|
committer | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-01 01:17:24 +0000 |
commit | 863ecb9bf814e4b75f362c0898a2743a16d6c1d6 (patch) | |
tree | da556e77ce7081d073287d3c5c1ebb687c46fb49 /libjava/java | |
parent | e3336840c69422a210c249d994a5a232ce29ee87 (diff) | |
download | ppe42-gcc-863ecb9bf814e4b75f362c0898a2743a16d6c1d6.tar.gz ppe42-gcc-863ecb9bf814e4b75f362c0898a2743a16d6c1d6.zip |
* java/lang/ClassLoader.java (system): Remove static field.
(getSystemClassLoader): Get gnu.gcj.runtime.VMClassLoader.instance
directly instead of using it to set the system field.
(loadClass): Use VMClassLoader.instance instead of system field.
(findSystemClass): Similar.
* prims.cc (_Jv_RunMain): Clear VMClassLoader::instance rather
than ClassLoader::system which no longer exists.
* java/lang/natClassLoader.java (_Jv_FindClass): Simplify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45343 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/ClassLoader.java | 9 | ||||
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 8 |
2 files changed, 5 insertions, 12 deletions
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java index 9c4b3c8ad75..ce6962ee70e 100644 --- a/libjava/java/lang/ClassLoader.java +++ b/libjava/java/lang/ClassLoader.java @@ -34,7 +34,6 @@ import java.util.Stack; public abstract class ClassLoader { - static private ClassLoader system; private ClassLoader parent; private HashMap definedPackages = new HashMap(); @@ -46,9 +45,7 @@ public abstract class ClassLoader public static ClassLoader getSystemClassLoader () { - if (system == null) - system = gnu.gcj.runtime.VMClassLoader.instance; - return system; + return gnu.gcj.runtime.VMClassLoader.instance; } /** @@ -120,7 +117,7 @@ public abstract class ClassLoader if (parent != null) return parent.loadClass (name, link); else - c = system.findClass (name); + c = gnu.gcj.runtime.VMClassLoader.instance.findClass (name); } catch (ClassNotFoundException ex) { /* ignore, we'll try findClass */; } @@ -464,7 +461,7 @@ public abstract class ClassLoader protected final Class findSystemClass(String name) throws java.lang.ClassNotFoundException { - return getSystemClassLoader ().loadClass (name); + return gnu.gcj.runtime.VMClassLoader.instance.loadClass (name); } /* diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index 0a82ee9c84d..f0794c74111 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -481,12 +481,8 @@ _Jv_FindClass (_Jv_Utf8Const *name, java::lang::ClassLoader *loader) } else { - java::lang::ClassLoader *sys = java::lang::ClassLoader::system; - if (sys == NULL) - { - _Jv_InitClass (&ClassLoaderClass); - sys = java::lang::ClassLoader::getSystemClassLoader (); - } + java::lang::ClassLoader *sys + = java::lang::ClassLoader::getSystemClassLoader (); // Load using the bootstrap loader jvmspec 5.3.1. klass = sys->loadClass (sname, false); |