resolve.cc (_Jv_PrepareClass): Use ClassLoader::resolveClass0.

1999-08-14  Per Bothner  <per@bothner.com>

	* resolve.cc (_Jv_PrepareClass): Use ClassLoader::resolveClass0.
	* java/lang/natClass.cc (initializeClass): Likewise.
	* java/lang/ClassLoader.java (resolveClass0): New static method.
	(resolveClass): Call resolveClass0.
	(findSystemClass): No longer static.

From-SVN: r28711
This commit is contained in:
Per Bothner 1999-08-14 12:49:06 -07:00 committed by Tom Tromey
parent 2c169babb6
commit efc3b511cb
5 changed files with 19 additions and 14 deletions

View File

@ -1,3 +1,11 @@
1999-08-14 Per Bothner <per@bothner.com>
* resolve.cc (_Jv_PrepareClass): Use ClassLoader::resolveClass0.
* java/lang/natClass.cc (initializeClass): Likewise.
* java/lang/ClassLoader.java (resolveClass0): New static method.
(resolveClass): Call resolveClass0.
(findSystemClass): No longer static.
1999-08-12 Alexandre Oliva <oliva@dcc.unicamp.br>
* include/javaprims.h (TRUE, FALSE): Redefine as themselves.

View File

@ -50,7 +50,7 @@ AC_ARG_ENABLE(interpreter,
AC_DEFINE(INTERPRETER)
fi)
dnl This becomes -lffi if the interpreter is enables
dnl This becomes -lffi if the interpreter is enabled.
INTERPSPEC=
AC_SUBST(INTERPSPEC)

View File

@ -23,10 +23,6 @@ import java.util.Stack;
* @author Kresten Krab Thorup
*/
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
* Status: Just a stub; not useful at all.
*/
public abstract class ClassLoader {
static private ClassLoader system;
@ -225,16 +221,17 @@ public abstract class ClassLoader {
* For historical reasons, this method has a name which is easily
* misunderstood. Java classes are never ``resolved''. Classes are
* linked; whereas method and field references are resolved.
* <P>
* FIXME: The JDK documentation declares this method
* <code>final</code>, we declare it <code>static</code> -- any
* objections? This allows us to call it directly from native code
* with less hassle.
*
* @param clazz the class to link.
* @exception java.lang.LinkageError
*/
protected static void resolveClass(Class clazz)
protected final void resolveClass(Class clazz)
throws java.lang.LinkageError
{
resolveClass0(clazz);
}
static void resolveClass0(Class clazz)
throws java.lang.LinkageError
{
synchronized (clazz)
@ -273,7 +270,7 @@ public abstract class ClassLoader {
* @exception java.lang.LinkageError
* @exception java.lang.ClassNotFoundException
*/
protected native static Class findSystemClass(String name)
protected native Class findSystemClass(String name)
throws java.lang.ClassNotFoundException, java.lang.LinkageError;
/*

View File

@ -398,7 +398,7 @@ java::lang::Class::initializeClass (void)
#ifdef INTERPRETER
if (_Jv_IsInterpretedClass (this))
{
java::lang::ClassLoader::resolveClass (this);
java::lang::ClassLoader::resolveClass0 (this);
// Step 1.
_Jv_MonitorEnter (this);

View File

@ -486,7 +486,7 @@ _Jv_PrepareClass(jclass klass)
// the super class, so we use the Java method resolveClass, which will
// unlock it properly, should an exception happen.
java::lang::ClassLoader::resolveClass (klass->superclass);
java::lang::ClassLoader::resolveClass0 (klass->superclass);
_Jv_InterpClass *clz = (_Jv_InterpClass*)klass;