2006-02-01 Robert Schuster <robertschuster@fsfe.org>
authorRobert Schuster <robertschuster@fsfe.org>
Wed, 1 Feb 2006 13:40:05 +0000 (13:40 +0000)
committerRobert Schuster <rschuster@gcc.gnu.org>
Wed, 1 Feb 2006 13:40:05 +0000 (13:40 +0000)
commitc1a9321f29f76325f6fcf278c60678dcf9c71cde
tree331725f44321f544a0c7d62882b65627f0e43522
parent168b93e9e32b3b6e95b7e3f149889298a051a935
2006-02-01  Robert Schuster  <robertschuster@fsfe.org>

* link.cc:
(_Jv_Linker::find_field_helper): Added checks.
(_Jv_Linker::find_field): Use exception swallowing class resolution
and added early return.
(_Jv_ThrowNoClassDefFoundErrorTrampoline): New function.
(_Jv_Linker::link_symbol_table):  Use exception swallowing class
resolution, added ffi_closure installation routine, use
_Jv_ThrowNoClassDefFoundError for missing static method.
(_Jv_Linker::ensure_class_linked): Added string check which does
not trigger class resolution.
* java/lang/natClassLoader.cc:
(_Jv_FindClassNoException): New method.
* java/lang/Class.h:
(_Jv_FindClassNoException): New method declaration.
* include/jvm.h:
(_Jv_FindClassNoException): New method declaration.
(_Jv_FindClassFromSignatureNoException): New method declaration.
* prims.cc:
(_Jv_FindClassFromSignatureNoException): New method.
        * gcj/javaprims.h:
        (_Jv_equalsUtf8Classname): New method declaration.
        (_Jv_isPrimitiveOrDerived): Dito.
        * prims.cc:
(_Jv_equalsUtf8Classnames): New method.
        (_Jv_isPrimitiveOrDerived): New method.
        * verify.cc:
        (ref_intersection::equals): Use new classname comparison method.
        (type::compatible): Use new classname comparison method. Added
        check whether LHS' type is java.lang.Object .
        (type::resolve): Added new optional debug message and simplified
        if-expression.
        (type::to_array): Added codepath that generates an array type
        without resolving the element type.

From-SVN: r110474
libjava/ChangeLog
libjava/gcj/javaprims.h
libjava/include/jvm.h
libjava/java/lang/Class.h
libjava/java/lang/natClass.cc
libjava/java/lang/natClassLoader.cc
libjava/link.cc
libjava/prims.cc
libjava/verify.cc