8sa1-gcc/gcc/java
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
..
.cvsignore
boehm.c
buffer.c
buffer.h
ChangeLog java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
chartables.h
check-init.c * check-init.c (check_init) [SWITCH_EXPR]: Use SWITCH_HAS_DEFAULT. 2001-12-11 03:29:12 +00:00
class.c java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
config-lang.in
constants.c
convert.h
decl.c java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
except.c
expr.c java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
gcj.texi gcj.texi: Markup for man page generation. 2001-12-14 22:52:17 +00:00
gen-table.pl
gjavah.c gjavah.c (decompile_method): Don't decompile to `return this' for static methods. 2001-12-09 05:14:19 +00:00
java-except.h
java-opcodes.h
java-tree.def [multiple changes] 2001-08-17 14:07:07 -07:00
java-tree.h java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
javaop.def
javaop.h
jcf-depend.c
jcf-dump.c jcf-dump.c (print_constant): Fix fencepost error so "Float" and "Double" are printed at verbosity 1. 2001-08-30 12:42:36 -07:00
jcf-io.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
jcf-parse.c java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
jcf-path.c jcf-dump.c (main): Updated for change to jcf_path_seal. 2001-08-16 21:52:14 +00:00
jcf-reader.c
jcf-write.c decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR. 2001-12-03 17:10:08 -08:00
jcf.h jcf.h: Fix obvious typo in comment. 2001-12-03 15:09:42 -08:00
jv-scan.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
jvgenmain.c re PR other/3968 (COLLECT_GCC_OPTIONS empty) 2001-11-27 17:31:38 +00:00
jvspec.c java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
keyword.gperf gjavah.c (cxx_keywords): Const-ification. 2001-09-12 16:21:12 +00:00
keyword.h gjavah.c (cxx_keywords): Const-ification. 2001-09-12 16:21:12 +00:00
lang-options.h check-init.c (flags.h): Include 2001-08-08 21:19:12 -07:00
lang-specs.h
lang.c java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
lex.c lex.c (java_init_lex): Define wfl_to_string as gnu.gcj.runtime.StringBuffer unless generating bytecode. 2001-12-11 17:59:02 +00:00
lex.h c-format.c (maybe_read_dollar_number): Use safe-ctype macros and/or fold extra calls into fewer ones. 2001-10-21 21:32:15 +00:00
Make-lang.in gcj.texi: Markup for man page generation. 2001-12-14 22:52:17 +00:00
mangle_name.c c-format.c (maybe_read_dollar_number): Use safe-ctype macros and/or fold extra calls into fewer ones. 2001-10-21 21:32:15 +00:00
mangle.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
parse-scan.y
parse.h parse.h (java_expand_switch): Remove old prototype. 2001-11-20 18:02:25 +00:00
parse.y class.c (get_dispatch_table): Fix java vtable layout for TARGET_VTABLE_USES_DESCRIPTORS. 2001-12-14 19:01:02 +00:00
typeck.c jcf.h: Fix obvious typo in comment. 2001-12-03 15:09:42 -08:00
verify.c verify.c (subroutine_nesting): New function. 2001-12-03 15:30:21 -08:00
xref.c
xref.h
zextract.c
zipfile.h