This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc libjava/java/lang/Class.h libjava/java/lan ...
- From: aph at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org, java-cvs at gcc dot gnu dot org
- Date: 10 Sep 2004 17:15:34 -0000
- Subject: 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