From 4b84737d47b7e97e11d85c13bdeb861c896a5a6a Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 18 Oct 1999 22:57:07 +0000 Subject: 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 --- libjava/java/lang/ClassLoader.java | 8 +------- libjava/java/lang/natClassLoader.cc | 13 ++++++------- 2 files changed, 7 insertions(+), 14 deletions(-) (limited to 'libjava/java') 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 ClassLoader 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 -- cgit v1.1