This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc libjava/java/lang/Class.h libjava/java/lan ...


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcj-abi-2-dev-branch
Changes by:	aph@gcc.gnu.org	2004-09-10 17:15:34

Modified files:
	libjava/java/lang: Class.h natClass.cc 
	libjava        : ChangeLog 
	gcc/java       : ChangeLog class.c decl.c expr.c java-tree.h 

Log message:
	2004-09-10  Andrew Haley  <aph@redhat.com>
	
	PR java/12760
	* expr.c (build_invokeinterface): Use fast method for interface
	dispatch.
	* java-tree.h (enum java_tree_index): Add JTI_ITABLE_TYPE,
	JTI_ITABLE_PTR_TYPE.
	(struct lang_type): Add  itable_methods, itable_decl, itable_syms_decl.
	(emit_symbol_table): Add new arg, element_size.
	* decl.c (java_init_decl_processing): Initialize Class.itable.
	* class.c (GEN_TABLE): New macro.
	(gen_indirect_dispatch_tables): Use it.  Add itable.
	(make_class_data): Add new arg for emit_symbol_table().
	Emit itable.
	(add_miranda_methods): Make sure search_class has been parsed.
	(emit_symbol_table): Add new arg, element_size.
	
	2004-09-10  Andrew Haley  <aph@redhat.com>
	
	* java/lang/Class.h (_Jv_getInterfaceMethod(): new friend.
	* java/lang/natClass.cc (initializeClass): Check itable.
	(_Jv_getInterfaceMethod): New.
	(_Jv_LinkSymbolTable): Rewrite code that handles inerface calls.
	Check that an interface method isn't called with invokevirtual.
	
	* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Make sure
	super_meth is virtual.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/Class.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.63.12.9&r2=1.63.12.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/java/lang/natClass.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.75.2.13&r2=1.75.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.2729.2.18&r2=1.2729.2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.1352.2.18&r2=1.1352.2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/class.c.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.180.2.11&r2=1.180.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/decl.c.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.178.4.7&r2=1.178.4.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/expr.c.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.185.2.12&r2=1.185.2.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/java-tree.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.197.2.7&r2=1.197.2.8


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]