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