aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>1999-10-18 22:57:07 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-10-18 22:57:07 +0000
commit4b84737d47b7e97e11d85c13bdeb861c896a5a6a (patch)
tree5e0312d5dc7025957805d8741fe055e5009fc512 /libjava/java
parent35c95c5a65c1732ad9b0702656a5081e954cf967 (diff)
downloadgcc-4b84737d47b7e97e11d85c13bdeb861c896a5a6a.zip
gcc-4b84737d47b7e97e11d85c13bdeb861c896a5a6a.tar.gz
gcc-4b84737d47b7e97e11d85c13bdeb861c896a5a6a.tar.bz2
VMClassLoader.java (getVMClassLoader): New method.
* gnu/gcj/runtime/VMClassLoader.java (getVMClassLoader): New method. (redirect): New static field. * java/lang/ClassLoader.java (getSystemClassLoader): Now native (getVMClassLoader0): Removed. * java/lang/natClassLoader.cc (getVMClassLoader0): Removed. (redirect): Removed. (getSystemClassLoader): Implemented. From-SVN: r30075
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/ClassLoader.java8
-rw-r--r--libjava/java/lang/natClassLoader.cc13
2 files changed, 7 insertions, 14 deletions
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java
index f04868d..dab546e 100644
--- a/libjava/java/lang/ClassLoader.java
+++ b/libjava/java/lang/ClassLoader.java
@@ -34,13 +34,7 @@ public abstract class ClassLoader {
return parent;
}
- private static native ClassLoader getVMClassLoader0 ();
-
- static public ClassLoader getSystemClassLoader () {
- if (system == null)
- system = getVMClassLoader0 ();
- return system;
- }
+ public static native ClassLoader getSystemClassLoader ();
/**
* Creates a <code>ClassLoader</code> with no parent.
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index af4a4fa..ee5f2e7 100644
--- a/libjava/java/lang/natClassLoader.cc
+++ b/libjava/java/lang/natClassLoader.cc
@@ -48,14 +48,13 @@ extern java::lang::Class ClassLoaderClass;
/////////// java.lang.ClassLoader native methods ////////////
-static gnu::gcj::runtime::VMClassLoader *redirect = 0;
-
-java::lang::ClassLoader*
-java::lang::ClassLoader::getVMClassLoader0 ()
+java::lang::ClassLoader *
+java::lang::ClassLoader::getSystemClassLoader (void)
{
- if (redirect == 0)
- redirect = new gnu::gcj::runtime::VMClassLoader;
- return redirect;
+ JvSynchronize sync (&ClassLoaderClass);
+ if (! system)
+ system = gnu::gcj::runtime::VMClassLoader::getVMClassLoader ();
+ return system;
}
void