Commit Graph

16 Commits

Author SHA1 Message Date
Tom Tromey
97b51fd08e class.c (make_class_data): Always emit JV_STATE_PRELOADING for class' initial state.
gcc/java:
	* class.c (make_class_data): Always emit JV_STATE_PRELOADING for
	class' initial state.
libjava:
	* java/lang/Class.h (_Jv_IsBinaryCompatibilityABI): Declare as
	friend.
	* include/jvm.h (_Jv_IsBinaryCompatibilityABI): New function.
	* testsuite/libjava.lang/bclink.java: New file.
	* testsuite/libjava.lang/bclink.out: New file.
	* link.cc (print_class_loaded): Changed ABI test to look at
	various _syms fields.

From-SVN: r103225
2005-08-17 20:44:10 +00:00
Tom Tromey
fbb4c46b2d re PR libgcj/21906 (hang when invoking abstract method)
gcc/java/:
	PR libgcj/21906:
	* class.c (make_method_value): Use soft_abstractmethod_node for
	abstract method.
	* java-tree.h (soft_abstractmethod_node): New define.
	(JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
	* decl.c (java_init_decl_processing): Initialize
	soft_abstractmethod_node.
libjava/:
	PR libgcj/21906:
	* defineclass.cc (handleMethodsEnd): Set ncode for abstract
	methods.
	* include/jvm.h (_Jv_ThrowAbstractMethodError): Declare.
	* link.cc (_Jv_ThrowAbstractMethodError): Renamed.  No longer
	static.
	(append_partial_itable): Use it.
	(set_vtable_entries): Likewise.

From-SVN: r100992
2005-06-15 19:11:43 +00:00
Bryce McKinlay
f5ea88a3c8 [multiple changes]
2005-05-12  Bryce McKinlay  <mckinlay@redhat.com>

	* include/jvm.h (gcj::verifyClasses): Declare.
	* link.cc (gcj::verbose_class_flag): Moved.
	* prims.cc (gcj::verifyClasses): Define here.
	(gcj::verbose_class_flag): Move definition here.
	(_Jv_Linker::wait_for_state): Don't call verify_class
	if gcj::verifyClasses is not set.
	* gij.cc (main): Set gcj::verifyClasses when '-noverify' is given.

2005-05-12  Aaron Luchko  <aluchko@redhat.com>

	* gij.cc (main): Recognize '-verify', '-noverify', and
	'-verifyremote'

2005-05-12  Aaron Luchko <aluchko@redhat.com>

        * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.

From-SVN: r99646
2005-05-13 02:02:39 +01:00
Andrew Haley
f3dc41fe8e re PR java/19285 (Interfaces not initialized by static field access)
2005-04-27  Andrew Haley  <aph@redhat.com>

        PR java/19285
        * prims.cc (_Jv_ResolvePoolEntry): New function.
        * include/jvm.h (_Jv_Linker::find_field): New arg: found_class.
        * link.cc (_Jv_Linker::find_field): New arg: found_class.
        (resolve_pool_entry): Initialize the class in which a field is
        found.
        (link_symbol_table): Pass new arg to found_class.

From-SVN: r99006
2005-04-29 18:35:36 +00:00
Tom Tromey
8b6e769053 jni.cc (_Jv_JNI_GetAnyFieldID): Throw ClassNotFoundException.
* jni.cc (_Jv_JNI_GetAnyFieldID): Throw ClassNotFoundException.
	* java/lang/reflect/natMethod.cc (_Jv_GetTypesFromSignature):
	Rewrote to use _Jv_FindClassFromSignature.
	* verify.cc (resolve): throw NoClassDefFoundError.
	* link.cc (resolve_field): Throw NoClassDefFoundError.
	(find_field): Likewise.
	* prims.cc (_Jv_FindClassFromSignature): Removed recursion.
	Handle error cases.  Added 'endp' argument.
	* include/jvm.h (_Jv_FindClassFromSignature): Updated prototype.

From-SVN: r97660
2005-04-05 22:26:26 +00:00
Tom Tromey
f37a936b56 link.cc (ensure_class_linked): Removed #ifdef.
* link.cc (ensure_class_linked): Removed #ifdef.
	(print_class_loaded): Likewise.
	(wait_for_state): Likewise.
	* java/lang/Class.h (_Jv_IsInterpretedClass): Always declare.
	* include/jvm.h (_Jv_IsInterpretedClass): Moved from...
	* include/java-interp.h: ... here.

From-SVN: r96589
2005-03-17 00:18:50 +00:00
Tom Tromey
21b2340908 re PR java/20215 (gcj does not accept classes with same name fields)
PR java/20215:
	* include/jvm.h (_Jv_Linker::find_field_helper): Updated.
	* link.cc (find_field_helper): Added 'type' argument.
	(find_field): Updated.

From-SVN: r96032
2005-03-07 17:18:33 +00:00
Tom Tromey
fc544c8180 link.cc (make_vtable): Remove abstract method check.
* link.cc (make_vtable): Remove abstract method check.
	(append_partial_itable): Likewise.

From-SVN: r95268
2005-02-19 05:17:14 +00:00
Tom Tromey
e207dbea74 re PR java/20056 ('verification failed: incompatible type on stack' with --indirect-dispatch)
PR java/20056:
	* include/jvm.h (_Jv_Linker::has_field_p): Declare.
	* link.cc (has_field_p): New function.
	* verify.cc (check_field_constant): Added 'putfield' argument.
	(verify_instructions_0): Updated.
	(type::equals): New method.

From-SVN: r95259
2005-02-19 01:16:30 +00:00
Tom Tromey
2a2c6e55e7 Class.h (_Jv_GetMethodString): Updated declaration.
* java/lang/Class.h (_Jv_GetMethodString): Updated declaration.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Updated.
	* java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Updated.
	* link.cc (_Jv_GetMethodString): Added 'derived' argument.
	Changed type of second argument.  Rewrote.
	(make_vtable): Use it.
	(append_partial_itable): Updated.
	(layout_vtable_methods): Updated.

From-SVN: r95181
2005-02-17 19:17:08 +00:00
Hans Boehm
7faf2821f1 * link.cc: Include <stdio.h>
From-SVN: r94623
2005-02-02 22:29:31 +00:00
Tom Tromey
0006c7b00d re PR libgcj/18868 (Interface containing anonymous class breaks gij)
PR libgcj/18868:
	* include/jvm.h (_Jv_Linker::find_field): Declare.
	(_Jv_Linker::find_field_helper): Likewise.
	* link.cc (find_field_helper): New method.
	(find_field): Likewise.
	(resolve_pool_entry): Use it.  Throw NoSuchFieldError when field
	not found.
	(link_symbol_table): Use find_field.

From-SVN: r93151
2005-01-10 19:21:46 +00:00
Tom Tromey
7edc2bad71 no-threads.h (_Jv_ThreadDestroyData): Removed argument name.
* include/no-threads.h (_Jv_ThreadDestroyData): Removed argument
	name.
	(_Jv_ThreadRegister): Likewise.
	(_Jv_MutexCheckMonitor): Likewise.

	* link.cc: Include limits.h.

From-SVN: r91581
2004-12-01 21:44:09 +00:00
Eric Botcazou
67bbb1e122 * link.cc (link_symbol_table): Do not use intptr_t.
From-SVN: r91472
2004-11-29 17:06:57 +00:00
Andrew Haley
1daa567cf8 link.cc (ensure_class_linked): Conditionally compile _Jv_IsInterpretedClass on INTERPRETER.
2004-11-27  Andrew Haley  <aph@redhat.com>

	* link.cc (ensure_class_linked): Conditionally compile
	_Jv_IsInterpretedClass on INTERPRETER.
	(print_class_loaded): Likewise.
	(wait_for_state): Likewise.

	* include/jvm.h (ROUND): Move to here from include/java-interp.h.
	* include/java-interp.h (ROUND): Remove.

From-SVN: r91375
2004-11-27 12:37:32 +00:00
Tom Tromey
367390404d * Merged gcj-abi-2-dev-branch to trunk.
(Actual changes too large to list in the commit message;
see ChangeLog.)

From-SVN: r91270
2004-11-25 03:47:08 +00:00