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:
parent
2c169babb6
commit
efc3b511cb
5 changed files with 19 additions and 14 deletions
|
@ -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>
|
1999-08-12 Alexandre Oliva <oliva@dcc.unicamp.br>
|
||||||
|
|
||||||
* include/javaprims.h (TRUE, FALSE): Redefine as themselves.
|
* include/javaprims.h (TRUE, FALSE): Redefine as themselves.
|
||||||
|
|
|
@ -50,7 +50,7 @@ AC_ARG_ENABLE(interpreter,
|
||||||
AC_DEFINE(INTERPRETER)
|
AC_DEFINE(INTERPRETER)
|
||||||
fi)
|
fi)
|
||||||
|
|
||||||
dnl This becomes -lffi if the interpreter is enables
|
dnl This becomes -lffi if the interpreter is enabled.
|
||||||
INTERPSPEC=
|
INTERPSPEC=
|
||||||
AC_SUBST(INTERPSPEC)
|
AC_SUBST(INTERPSPEC)
|
||||||
|
|
||||||
|
|
|
@ -23,10 +23,6 @@ import java.util.Stack;
|
||||||
* @author Kresten Krab Thorup
|
* @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 {
|
public abstract class ClassLoader {
|
||||||
|
|
||||||
static private ClassLoader system;
|
static private ClassLoader system;
|
||||||
|
@ -225,16 +221,17 @@ public abstract class ClassLoader {
|
||||||
* For historical reasons, this method has a name which is easily
|
* For historical reasons, this method has a name which is easily
|
||||||
* misunderstood. Java classes are never ``resolved''. Classes are
|
* misunderstood. Java classes are never ``resolved''. Classes are
|
||||||
* linked; whereas method and field references are resolved.
|
* 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.
|
* @param clazz the class to link.
|
||||||
* @exception java.lang.LinkageError
|
* @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
|
throws java.lang.LinkageError
|
||||||
{
|
{
|
||||||
synchronized (clazz)
|
synchronized (clazz)
|
||||||
|
@ -273,7 +270,7 @@ public abstract class ClassLoader {
|
||||||
* @exception java.lang.LinkageError
|
* @exception java.lang.LinkageError
|
||||||
* @exception java.lang.ClassNotFoundException
|
* @exception java.lang.ClassNotFoundException
|
||||||
*/
|
*/
|
||||||
protected native static Class findSystemClass(String name)
|
protected native Class findSystemClass(String name)
|
||||||
throws java.lang.ClassNotFoundException, java.lang.LinkageError;
|
throws java.lang.ClassNotFoundException, java.lang.LinkageError;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -398,7 +398,7 @@ java::lang::Class::initializeClass (void)
|
||||||
#ifdef INTERPRETER
|
#ifdef INTERPRETER
|
||||||
if (_Jv_IsInterpretedClass (this))
|
if (_Jv_IsInterpretedClass (this))
|
||||||
{
|
{
|
||||||
java::lang::ClassLoader::resolveClass (this);
|
java::lang::ClassLoader::resolveClass0 (this);
|
||||||
|
|
||||||
// Step 1.
|
// Step 1.
|
||||||
_Jv_MonitorEnter (this);
|
_Jv_MonitorEnter (this);
|
||||||
|
|
|
@ -486,7 +486,7 @@ _Jv_PrepareClass(jclass klass)
|
||||||
// the super class, so we use the Java method resolveClass, which will
|
// the super class, so we use the Java method resolveClass, which will
|
||||||
// unlock it properly, should an exception happen.
|
// 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;
|
_Jv_InterpClass *clz = (_Jv_InterpClass*)klass;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue