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 gcc/java/ChangeLog gcc/java/class.c gcc/ja ...


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcj-abi-2-dev-branch
Changes by:	bryce@gcc.gnu.org	2004-11-05 19:30:12

Modified files:
	gcc/java       : ChangeLog class.c decl.c expr.c java-tree.h 
	                 verify-glue.c verify-impl.c verify.h 
	libjava        : ChangeLog link.cc 
	libjava/include: execution.h jvm.h 
	libjava/java/lang: Class.h 

Log message:
	gcc/java:
	2004-11-05  Bryce McKinlay  <mckinlay@redhat.com>
	
	* link.cc: Include VerifyError.h.
	(_Jv_Linker::verify_type_assertions): New. Read and evaluate entries
	in the type assertion table.
	* include/execution.h (_Jv_CompiledEngine::do_verify): Use
	verify_type_assertions.
	* include/jvm.h (_Jv_Linker::verify_type_assertions): declare.
	* java/lang/Class.h (JV_ASSERT_END_OF_TABLE,
	JV_ASSERT_TYPES_COMPATIBLE, JV_ASSERT_IS_INSTANTIABLE): Declare
	assertion code values.
	(struct _Jv_TypeAssertion): Declare.
	(assertion_table): New class field.
	(verify): Remove class field.
	
	libjava:
	2004-11-05  Bryce McKinlay  <mckinlay@redhat.com>
	
	* class.c (make_class_data): Call emit_assertion_table to set the
	'assertion_table' field.
	(build_signature_for_libgcj): Move here from expr.c.
	(add_assertion_table_entry): New function. Callback for assertion
	hashtable traversal.
	(emit_assertion_table): New. Take class argument, and generate
	assertion table DECL based on the TYPE_ASSERTIONS hashtable.
	* decl.c (init_decl_processing): Define assertion_entry_type record.
	Push 'assertion_table' class field instead of 'verify'.
	* expr.c (type_assertion_eq): Compare 'assertion_code' field.
	(type_assertion_hash): Include 'assertion_code' in hash.
	(add_type_assertion): Rewritten. Take class and assertion_code
	arguments. Add assertions to the TYPE_ASSERTIONS hashtable.
	(can_widen_reference_to): Use new add_type_assertion() arguments.
	* java-tree.h (java_tree_index): Add JTI_ASSERTION_ENTRY_TYPE,
	JTI_ASSERTION_TABLE_TYPE. Remove JTI_VERIFY_IDENTIFIER_NODE.
	(verify_identifier_node): Removed.
	(assertion_entry_type, assertion_table_type): New.
	(ASSERTION_TYPES_COMPATIBLE, ASSERTION_IS_INSTANTIABLE): New. Type
	assertion code definitions.
	(struct type_assertion): Add assertion_code. Rename 'source_type'
	and 'target_type' to 'op1' and 'op2'.
	(add_type_assertion): Declare.
	(lang_printable_name_wls): Remove unused definition.
	* verify-glue.c: (vfy_is_assignable_from): New. Call
	add_type_assertion
	to emit runtime assertion.
	(vfy_note_stack_type): Clean up non-C90 declarations.
	(vfy_note_local_type): Likewise.
	* verify.h (vfy_is_assignable_from): Declare.
	* verify-impl.c (is_assignable_from_slow): Remove unused function.
	(ref_compatible): Rename arguments. Call vfy_is_assignable_from()
	instead of is_assignable_from_slow().
	(types_compatible): Reinstate ref_compatible() call.

Patches:
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.52&r2=1.1352.2.53
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.16&r2=1.180.2.17
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.12&r2=1.178.4.13
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.19&r2=1.185.2.20
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.12&r2=1.197.2.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/verify-glue.c.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.1.2.10&r2=1.1.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/verify-impl.c.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.1.2.16&r2=1.1.2.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/java/verify.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.1.2.7&r2=1.1.2.8
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.55&r2=1.2729.2.56
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/link.cc.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.1.2.9&r2=1.1.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/execution.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/jvm.h.diff?cvsroot=gcc&only_with_tag=gcj-abi-2-dev-branch&r1=1.63.6.9&r2=1.63.6.10
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.15&r2=1.63.12.16


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