gcc/libjava/java/lang
Bryce McKinlay ddf0fc6c9f resolve.cc (_Jv_SearchMethodInClass): New function.
2000-03-07  Bryce McKinlay  <bryce@albatross.co.nz>

        * resolve.cc (_Jv_SearchMethodInClass): New function.
        (_Jv_ResolvePoolEntry): Search superinterfaces for interface
        methods.
        * java/lang/Class.h (_Jv_SearchMethodInClass): New prototype.

2000-03-07  Bryce McKinlay  <bryce@albatross.co.nz>

        * java/lang/Class.h (union _Jv_IDispatchTable): New declaration.
        (struct _Jv_ifaces): New declaration.
        JV_CLASS: New macro definition.
        (getComponentType): Relocate below isArray() for inlining.
        (getModifiers): Declare `inline'.
        (getSuperclass): Ditto.
        (isArray): Ditto.
        (isPrimitive): Ditto.
        (_Jv_IsAssignableFrom): New prototype.
        (_Jv_LookupInterfaceMethodIdx): New prototype. Predeclare with "C"
        linkage.
        (_Jv_InitClass): Move from natClass.cc. Declare `inline'.
        Check for JV_STATE_DONE before invoking initializeClass().
        (_Jv_PrepareConstantTimeTables): New prototype.
        (_Jv_GetInterfaces): Ditto.
        (_Jv_GenerateITable): Ditto.
        (_Jv_GetMethodString): Ditto.
        (_Jv_AppendPartialITable): Ditto.
        (_Jv_FindIIndex): Ditto.
        depth, ancestors, idt: New class fields.

        * java/lang/natClass.cc (isAssignableFrom): Move functionality to
        inline function `_Jv_IsAssignableFrom'. Use that function.
        (isInstance): Declare `inline'.
        (initializeClass): Get lock on class before checking `state'. Unlock
        before calling resolveClass0. Call _Jv_PrepareConstantTimeTables
	with the lock held.
        (_Jv_LookupInterfaceMethod): Use _Jv_GetMessageString.
        (_Jv_IsAssignableFrom): New inline function. Test assignability
	using class->depth and ancestor table.
        (_Jv_IsInstanceOf): Use _Jv_IsAssignableFrom.
        (_Jv_CheckCast): Move from prims.cc. Use JV_CLASS and
        _Jv_IsAssignableFrom.
        (_Jv_CheckArrayStore): Ditto.
        (_Jv_LookupInterfaceMethodIdx): New function.
        INITIAL_IOFFSETS_LEN, INITIAL_IFACES_LEN: New #defines.
        (_Jv_PrepareConstantTimeTables): New function.
        (_Jv_IndexOf): Ditto.
        (_Jv_GetInterfaces): Ditto.
        (_Jv_GenerateITable): Ditto.
        (_Jv_GetMethodString): Ditto.
        (_Jv_AppendPartialITable): Ditto.
        iindex_mutex, iindex_mutex_initialized: New static fields.
        (_Jv_FindIIndex): New function.

        * java/lang/natClassLoader.cc (_Jv_NewClass): Set new jclass fields.

        * prims.cc (_Jv_CheckCast): Moved to natClass.cc.
        (_Jv_CheckArrayStore): Ditto.
        (JvNewCharArray, JvNewBooleanArray, JvNewByteArray, JvNewShortArray,
        JvNewIntArray, JvNewLongArray, JvNewFloatArray, JvNewDoubleArray):
        Moved to gcj/array.h.
        (_Jv_Realloc): New function.

        * gcj/cni.h: Move _Jv_PrimClass definitions to gcj/array.h.

        * gcj/array.h: _Jv_PrimClass definitions moved from gcj/cni.h.
        (JvNewCharArray, JvNewBooleanArray, JvNewByteArray,
        JvNewShortArray, JvNewIntArray, JvNewLongArray, JvNewFloatArray,
        JvNewDoubleArray): Implementations moved from prims.cc and
        declared `inline'.

        * gcj/javaprims.h (_Jv_Realloc): Prototype.

        * include/jvm.h (_Jv_LookupInterfaceMethodIdx): Prototype.

From-SVN: r32382
2000-03-07 09:52:56 +00:00
..
reflect java-interp.h: Don't include MethodInvocation.h. 2000-03-02 20:25:20 +00:00
AbstractMethodError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
ArithmeticException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
ArrayIndexOutOfBoundsException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
ArrayStoreException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Boolean.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Byte.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Character.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Class.h resolve.cc (_Jv_SearchMethodInClass): New function. 2000-03-07 09:52:56 +00:00
Class.java java-interp.h: Don't include MethodInvocation.h. 2000-03-02 20:25:20 +00:00
ClassCastException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
ClassCircularityError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
ClassFormatError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
ClassLoader.java java-interp.h: Don't include MethodInvocation.h. 2000-03-02 20:25:20 +00:00
ClassNotFoundException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Cloneable.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
CloneNotSupportedException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Comparable.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Compiler.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Double.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
dtoa.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_acos.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_asin.c [multiple changes] 1999-06-24 20:41:47 +00:00
e_atan2.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_exp.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_fmod.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_log.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_pow.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_rem_pio2.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_remainder.c [multiple changes] 1999-06-24 20:06:09 +00:00
e_scalb.c
e_sqrt.c [multiple changes] 1999-06-24 20:06:09 +00:00
EcosProcess.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Error.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Exception.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
ExceptionInInitializerError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
fdlibm.h natMath.cc (pow): Cast args to double', not jdouble'. 2000-01-10 20:02:47 +00:00
Float.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
ieeefp.h The following patches include a couple of fixes for cross toolchains, 1999-10-02 15:44:24 +00:00
IllegalAccessError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
IllegalAccessException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
IllegalArgumentException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
IllegalMonitorStateException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
IllegalStateException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
IllegalThreadStateException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
IncompatibleClassChangeError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
IndexOutOfBoundsException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
InstantiationError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
InstantiationException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Integer.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
InternalError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
InterruptedException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
k_cos.c [multiple changes] 1999-06-24 20:06:09 +00:00
k_rem_pio2.c [multiple changes] 1999-06-24 20:06:09 +00:00
k_sin.c [multiple changes] 1999-06-24 20:06:09 +00:00
k_tan.c [multiple changes] 1999-06-24 20:06:09 +00:00
LinkageError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Long.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Math.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
mprec.c
mprec.h natMath.cc (pow): Cast args to double', not jdouble'. 2000-01-10 20:02:47 +00:00
natCharacter.cc * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
natClass.cc resolve.cc (_Jv_SearchMethodInClass): New function. 2000-03-07 09:52:56 +00:00
natClassLoader.cc resolve.cc (_Jv_SearchMethodInClass): New function. 2000-03-07 09:52:56 +00:00
natDouble.cc * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
natEcosProcess.cc * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
natFloat.cc * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
natMath.cc * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
natObject.cc java-interp.h: Don't include MethodInvocation.h. 2000-03-02 20:25:20 +00:00
natPosixProcess.cc * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
natRuntime.cc jvm.h (_Jv_GetJavaVM): Declare. 2000-02-18 21:22:06 +00:00
natString.cc * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
natSystem.cc natSystem.cc (init_properties): set java.lang.classpath property. 2000-02-15 08:52:03 +00:00
natThread.cc java-interp.h: Don't include MethodInvocation.h. 2000-03-02 20:25:20 +00:00
natThrowable.cc Throwable.java (CPlusPlusDemangler): New class. 2000-02-04 16:59:35 +00:00
NegativeArraySizeException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
NoClassDefFoundError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
NoSuchFieldError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
NoSuchFieldException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
NoSuchMethodError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
NoSuchMethodException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
NullPointerException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Number.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
NumberFormatException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Object.h java-interp.h: Don't include MethodInvocation.h. 2000-03-02 20:25:20 +00:00
Object.java java-interp.h: Don't include MethodInvocation.h. 2000-03-02 20:25:20 +00:00
OutOfMemoryError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
PosixProcess.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Process.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Runnable.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Runtime.java Runtime.java (_load): Declare. 2000-02-08 00:26:58 +00:00
RuntimeException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
s_atan.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_ceil.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_copysign.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_cos.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_fabs.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_floor.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_rint.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_scalbn.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_sin.c [multiple changes] 1999-06-24 20:06:09 +00:00
s_tan.c [multiple changes] 1999-06-24 20:06:09 +00:00
SecurityException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
SecurityManager.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
sf_rint.c [multiple changes] 1999-06-24 20:06:09 +00:00
Short.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
StackOverflowError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
String.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
StringBuffer.java StringBuffer.java (StringBuffer): Don't special case null argument. 2000-01-17 00:00:43 +00:00
StringIndexOutOfBoundsException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
strtod.c
System.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Thread.java java-interp.h: Don't include MethodInvocation.h. 2000-03-02 20:25:20 +00:00
ThreadDeath.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
ThreadGroup.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Throwable.java Throwable.java (CPlusPlusDemangler): New class. 2000-02-04 16:59:35 +00:00
UnknownError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
UnsatisfiedLinkError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
UnsupportedOperationException.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
VerifyError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
VirtualMachineError.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
Void.java * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
w_acos.c
w_asin.c
w_atan2.c
w_exp.c
w_fmod.c
w_log.c
w_pow.c
w_remainder.c
w_sqrt.c