summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-01 01:17:24 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-01 01:17:24 +0000
commit863ecb9bf814e4b75f362c0898a2743a16d6c1d6 (patch)
treeda556e77ce7081d073287d3c5c1ebb687c46fb49
parente3336840c69422a210c249d994a5a232ce29ee87 (diff)
downloadgcc-863ecb9bf814e4b75f362c0898a2743a16d6c1d6.tar.gz
* 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
-rw-r--r--libjava/ChangeLog11
-rw-r--r--libjava/java/lang/ClassLoader.java9
-rw-r--r--libjava/java/lang/natClassLoader.cc8
-rw-r--r--libjava/prims.cc3
4 files changed, 18 insertions, 13 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 103e32b6dcd..5170b9a1c83 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,14 @@
+2001-08-31 Per Bothner <per@bothner.com>
+
+ * 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.
+
2001-08-31 Tom Tromey <tromey@redhat.com>
* java/io/BufferedReader.java, java/io/ObjectInput.java,
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);
diff --git a/libjava/prims.cc b/libjava/prims.cc
index 01c23b89820..6a13ed5fe75 100644
--- a/libjava/prims.cc
+++ b/libjava/prims.cc
@@ -64,6 +64,7 @@ details. */
#include <java/lang/reflect/Modifier.h>
#include <java/io/PrintStream.h>
#include <java/lang/UnsatisfiedLinkError.h>
+#include <gnu/gcj/runtime/VMClassLoader.h>
#ifdef USE_LTDL
#include <ltdl.h>
@@ -921,7 +922,7 @@ _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv,
// jar file only. The easiest way to do this is to lose our
// reference to the previous classloader.
_Jv_Jar_Class_Path = strdup (name);
- java::lang::ClassLoader::system = NULL;
+ gnu::gcj::runtime::VMClassLoader::instance = NULL;
}
}
catch (java::lang::Throwable *t)