Go to file
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
INSTALL README: Update wrt. 2001-06-13 14:51:33 +00:00
boehm-gc linux_threads.c (WRAP_FUNC(pthread_join)): Remove special case for GC_FREEBSD_THREADS. 2001-11-26 17:40:34 +00:00
config acinclude.m4: Fix spelling error of "separate" as "seperate". 2001-10-07 19:02:46 +01:00
contrib texi2pod.pl: Merge changes from binutils' texi2pod.pl. 2001-12-14 22:46:31 +00:00
fastjar For PR java/4295: 2001-10-17 15:57:03 +00:00
gcc java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
include demangle.h (no_demangling): New. 2001-12-06 13:56:15 -08:00
libchill
libf2c Daily bump. 2001-12-15 08:16:09 +00:00
libffi Implement Darwin PowerPC ABI. 2001-10-09 06:32:16 +01:00
libiberty re PR other/2719 (demangler crash) 2001-12-12 23:08:07 +00:00
libjava java-tree.h (otable_methods, [...]): New field/global tree definitions. 2001-12-15 08:31:49 +00:00
libobjc encoding.c: Add target_flags. 2001-11-14 21:11:43 +00:00
libstdc++-v3 Daily bump. 2001-12-15 08:16:09 +00:00
maintainer-scripts * gcc_release: Add /usr/local/bin to path when local. 2001-11-19 13:16:39 +00:00
zlib re PR bootstrap/3281 (Installation failure (mkinstalldirs)) 2001-07-03 22:29:32 +00:00
.cvsignore gcc_update: Dump timestamp in LAST_UPDATED. 2001-07-26 23:00:45 -07:00
COPYING
COPYING.LIB COPYING.LIB: Update to LGPL 2.1 from the FSF. 2001-01-29 13:32:47 +00:00
ChangeLog MAINTAINERS (Write After Approval): Add myself. 2001-12-11 08:26:49 +00:00
MAINTAINERS MAINTAINERS (Write After Approval): Add myself. 2001-12-11 08:26:49 +00:00
Makefile.in top level: 2001-11-28 01:37:24 +00:00
README * README: Remove version number. 2001-06-13 19:48:09 +01:00
config-ml.in config-ml.in (powerpc-*-* | rs6000-*-*): Allow aix64 and pthread multilibs to be disabled. 2001-06-12 22:12:07 -04:00
config.guess config.sub: Import from master sources, rev 1.226. 2001-11-05 01:52:42 +00:00
config.if * config.if: Assume enable_libstdcxx_v3 is defined. 2001-02-05 11:02:20 +00:00
config.sub config.sub: Update to version 1.232 on subversion. 2001-12-03 22:54:05 +00:00
configure * configure, configure.in: Use temp file for long sed commands. 2001-12-05 07:40:39 -05:00
configure.in * configure, configure.in: Use temp file for long sed commands. 2001-12-05 07:40:39 -05:00
install-sh
libtool.m4 ltconfig, [...]: Upgraded to libtool 1.4a 1.641.2.254. 2001-05-20 18:55:59 +00:00
ltcf-c.sh backport: ltcf-c.sh: Use $objext, not $ac_objext. 2001-09-01 00:47:19 +00:00
ltcf-cxx.sh backport: ltcf-c.sh: Use $objext, not $ac_objext. 2001-09-01 00:47:19 +00:00
ltcf-gcj.sh backport: ltcf-c.sh: Use $objext, not $ac_objext. 2001-09-01 00:47:19 +00:00
ltconfig backport: ltcf-c.sh: Use $objext, not $ac_objext. 2001-09-01 00:47:19 +00:00
ltmain.sh backport: ltcf-c.sh: Use $objext, not $ac_objext. 2001-09-01 00:47:19 +00:00
missing
mkdep
mkinstalldirs
move-if-change
symlink-tree
ylwrap

README

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.