gcc/libjava/include
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
..
Makefile.am re GNATS libgcj/43 (jni.h not installed) 2000-03-06 02:50:38 +00:00
Makefile.in re GNATS libgcj/43 (jni.h not installed) 2000-03-06 02:50:38 +00:00
boehm-gc.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
config.h.in config.h.in: Rebuilt. 2000-01-31 04:53:47 +00:00
default-signal.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
i386-signal.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
java-assert.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
java-chardecomp.h Initial revision 1999-04-07 14:42:40 +00:00
java-chartables.h Initial revision 1999-04-07 14:42:40 +00:00
java-cpool.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
java-insns.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
java-interp.h java-interp.h: Don't include MethodInvocation.h. 2000-03-02 20:25:20 +00:00
java-props.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
jni.h jni.h (JNI_FALSE): Renamed from JNI_TRUE; oops. 2000-02-10 23:44:05 +00:00
jvm.h resolve.cc (_Jv_SearchMethodInClass): New function. 2000-03-07 09:52:56 +00:00
name-finder.h natThrowable.cc: New file. 2000-01-17 15:45:24 +00:00
no-gc.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
no-threads.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
posix-threads.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
sparc-signal.h * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
stamp-h.in * include/stamp-h.in: New file. 1999-07-19 18:03:31 +00:00