gcc/libjava/java/lang
Bryce McKinlay 861ef92859 java-tree.h (otable_methods, [...]): New field/global tree definitions.
gcc/java:

	* java-tree.h (otable_methods, otable_decl, otable_syms_decl,
	otable_type, otable_ptr_type, method_symbol_type,
	method_symbols_array_type, method_symbols_array_ptr_type): New
	field/global tree definitions.
	(flag_indirect_dispatch): New flag.
	* decl.c (java_init_decl_processing): Initialize new otable and
	otable_syms type nodes and decls. Add new field "index" to
	method_type_node.
	* class.c (build_method_symbols_entry): New function.
	(make_method_value): Set "index" to to method's vtable index for
	virtual methods when indirect-dispatch is not used.
	(make_class_data): For indirect-dispatch, dont emit the dtable_decl,
	and set vtable_method_count to -1. Set otable and otable_syms field
	if indirect-dispatch is used and there was something to put in them.
	(build_method_symbols_entry): New function.
	(emit_offset_symbol_table): New function.
	* expr.c (get_offset_table_index): New function.
	(build_invokevirtual): Build array reference to otable at the index
	returned by get_offset_table_index, and use the result as the vtable
	offset.
	(build_invokeinterface): Similar.
	* jcf-parse.c (yyparse): If indirect-dispatch, call
	emit_offset_symbol_table at the end of compilation, after all classes
	have been generated.
	* jvspec.c: Don't pass findirect-dispatch to jvgenmain.
	* lang.c (flag_indirect_dispatch): Define.
	(lang_f_options): Add indirect-dispatch flag.

libjava:

	* include/jvm.h (_Jv_VTable::idx_to_offset): New method.
	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
	_Jv_MakeVTable and _Jv_LinkOffsetTable if needed.
	* java/lang/Class.h (_Jv_Method): Add "index" field.
	(_Jv_MethodSymbol): New struct type.
	(_Jv_LinkOffsetTable, _Jv_LayoutVTableMethods, _Jv_SetVTableEntries,
	_Jv_MakeVTable): Friends.
	(otable, otable_syms): New Class fields.
	* java/lang/natClass.cc (_Jv_LinkOffsetTable): New function.
	(isVirtualMethod): New static function.
	(_Jv_LayoutVTableMethods): New function.
	(_Jv_SetVTableEntries): New function.
	(_Jv_MakeVTable): New function.

From-SVN: r48038
2001-12-15 08:31:49 +00:00
..
ref natReference.cc (add_to_hash): Set n->next before setting *link. 2001-10-03 16:47:02 +00:00
reflect Constructor.java (toString): Use more efficient form of Modifier.toString(). 2001-11-14 23:42:38 +00:00
AbstractMethodError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
ArithmeticException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
ArrayIndexOutOfBoundsException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
ArrayStoreException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
Boolean.java VMClassLoader.java (getPrimitiveClass): Now native. 2001-10-26 02:51:04 +01:00
Byte.java Oops! 2001-10-26 05:27:58 +01:00
Character.java VMClassLoader.java (getPrimitiveClass): Now native. 2001-10-26 02:51:04 +01:00
CharSequence.java Makefile.am: Add new classes 2001-10-02 20:59:31 +00:00
Class.h java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
Class.java decl.c (init_decl_processing): Add new class "protectionDomain" field. 2001-04-25 16:45:15 +01:00
ClassCastException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
ClassCircularityError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
ClassFormatError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
ClassLoader.java ClassLoader.java (defineClass): Rethrow any LinkageError. 2001-12-07 23:34:12 +00:00
ClassNotFoundException.java
Cloneable.java DataInput.java: Merge with Classpath. 2001-09-30 18:04:38 +00:00
CloneNotSupportedException.java CloneNotSupportedException.java: Re-merged with Classpath. 2001-09-14 16:19:30 +00:00
Comparable.java DataInput.java: Merge with Classpath. 2001-09-30 18:04:38 +00:00
Compiler.java FileWriter.java: Merge with Classpath. 2001-10-01 18:24:54 +00:00
Double.java Re-merges with Classpath, from various people: 2001-11-14 19:11:52 +00:00
dtoa.c
e_acos.c
e_asin.c
e_atan2.c
e_exp.c
e_fmod.c
e_log.c
e_pow.c
e_rem_pio2.c
e_remainder.c
e_scalb.c
e_sqrt.c
EcosProcess.java
Error.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
Exception.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
ExceptionInInitializerError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
fdlibm.h
Float.java VMClassLoader.java (getPrimitiveClass): Now native. 2001-10-26 02:51:04 +01:00
ieeefp.h
IllegalAccessError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
IllegalAccessException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
IllegalArgumentException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
IllegalMonitorStateException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
IllegalStateException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
IllegalThreadStateException.java javaprims.h: Regenerated class list. 2001-09-02 06:26:09 +00:00
IncompatibleClassChangeError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
IndexOutOfBoundsException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
InheritableThreadLocal.java Makefile.am (core_java_source_files): add InheritableThreadLocal 2001-10-02 22:49:59 +00:00
InstantiationError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
InstantiationException.java javaprims.h: Regenerated class list. 2001-09-02 06:26:09 +00:00
Integer.java Re-merge with Classpath, from Brian Jones: 2001-11-16 19:52:24 +00:00
InternalError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
InterruptedException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
k_cos.c
k_rem_pio2.c
k_sin.c
k_tan.c
LinkageError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
Long.java VMClassLoader.java (getPrimitiveClass): Now native. 2001-10-26 02:51:04 +01:00
Math.java
mprec.c no-threads.cc (_Jv_ThreadStart): Remove names of unused arguments. 2001-09-21 00:46:32 -07:00
mprec.h
natCharacter.cc
natClass.cc java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
natClassLoader.cc java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
natDouble.cc Double.java: More Classpath merging 2001-10-20 06:26:45 +00:00
natEcosProcess.cc
natFloat.cc Double.java (doubleToRawLongBits): Now native. 2001-02-09 22:13:33 +00:00
natMath.cc
natObject.cc HACKING, [...]: Fix spelling errors. 2001-10-31 00:48:17 +00:00
natPosixProcess.cc PosixProcess.java (exitValue): Implement here. 2001-09-24 05:51:50 +01:00
natRuntime.cc Eliminate use of C++ static constructors. 2001-10-16 09:35:17 +01:00
natString.cc natString.cc: correct argument order for _Jv_AllocPtrFreeObj 2001-11-15 02:22:52 +00:00
natStringBuffer.cc javaprims.h (_Jv_FormatInt): New declaration. 2001-05-21 21:38:37 -07:00
natSystem.cc natSystem.cc (init_properties): Default locale is en_US, not just en. 2001-09-05 17:11:57 +00:00
natThread.cc Makefile.am: New friends for java/lang/Thread.h. 2001-08-26 12:30:09 +01:00
natThrowable.cc configure.in (ia64-*): Don't set SYSDEP_SOURCES. 2001-05-11 23:25:03 -07:00
NegativeArraySizeException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
NoClassDefFoundError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
NoSuchFieldError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
NoSuchFieldException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
NoSuchMethodError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
NoSuchMethodException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
NullPointerException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
Number.java javaprims.h: Rebuilt class list. 2001-07-23 20:01:29 +00:00
NumberFormatException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
Object.h prims.cc: Some old cleanups. 2001-12-14 18:43:55 +00:00
Object.java
OutOfMemoryError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
Package.java HACKING, [...]: Fix spelling errors. 2001-10-31 00:48:17 +00:00
PosixProcess.java PosixProcess.java (exitValue): Implement here. 2001-09-24 05:51:50 +01:00
Process.java FileWriter.java: Merge with Classpath. 2001-10-01 18:24:54 +00:00
Runnable.java DataInput.java: Merge with Classpath. 2001-09-30 18:04:38 +00:00
Runtime.java Runtime.java (_exit): Declare new package-private native. 2001-03-12 07:40:17 +00:00
RuntimeException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
RuntimePermission.java
s_atan.c
s_ceil.c
s_copysign.c
s_cos.c
s_fabs.c
s_floor.c
s_rint.c
s_scalbn.c
s_sin.c
s_tan.c
SecurityException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
SecurityManager.java * java/lang/SecurityManager.java (SecurityManager): Now public. 2001-10-13 23:23:50 +00:00
sf_fabs.c
sf_rint.c
Short.java VMClassLoader.java (getPrimitiveClass): Now native. 2001-10-26 02:51:04 +01:00
StackOverflowError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
String.java String.java (String): New constructor. 2001-12-11 18:01:40 +00:00
StringBuffer.java Makefile.am: Add new classes 2001-10-02 20:59:31 +00:00
StringIndexOutOfBoundsException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
strtod.c strtod.c (_strtod_r): Logic to check for missing digits after exponent had 'else' attached to wrong 'if'. 2001-10-09 15:54:26 -07:00
System.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
Thread.java Makefile.am (core_java_source_files): add InheritableThreadLocal 2001-10-02 22:49:59 +00:00
ThreadDeath.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
ThreadGroup.java ThreadGroup.java (uncaughtException): Print message to System.err. 2001-12-07 23:32:24 +00:00
ThreadLocal.java Makefile.am: Added `java/lang/ThreadLocal.java'. 2001-07-10 17:47:37 -07:00
Throwable.java Throwable.java (CPlusPlusDemangler): Pass -s java to c++filt to select java-style output. 2001-02-23 19:52:49 -08:00
UnknownError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
UnsatisfiedLinkError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
UnsupportedClassVersionError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
UnsupportedOperationException.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
VerifyError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
VirtualMachineError.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
VMClassLoader.java VMClassLoader.java (getPrimitiveClass): Now native. 2001-10-26 02:51:04 +01:00
VMSecurityManager.java Makefile.in: Rebuilt. 2001-09-02 06:18:49 +00:00
Void.java VMClassLoader.java (getPrimitiveClass): Now native. 2001-10-26 02:51:04 +01: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