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
This commit is contained in:
Tom Tromey 1999-10-18 22:57:07 +00:00 committed by Tom Tromey
parent 35c95c5a65
commit 4b84737d47
4 changed files with 30 additions and 14 deletions

View file

@ -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.

View file

@ -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