* src/cacaoh/dummy.c (resolve_handle_pending_exception): New function.
authorChristian Thalinger <twisti@complang.tuwien.ac.at>
Wed, 26 Mar 2008 16:14:46 +0000 (17:14 +0100)
committerChristian Thalinger <twisti@complang.tuwien.ac.at>
Wed, 26 Mar 2008 16:14:46 +0000 (17:14 +0100)
commit204bf2cdfec73890037af529d67d396d30662a44
tree3eb56f6ce6d319c7f6d18cb84c3bf5585fe52a9e
parent88ac4a880c37a5974a0345c12a9252ad2c6f014a
* src/cacaoh/dummy.c (resolve_handle_pending_exception): New function.

* src/native/vm/sun/jvm.c (JVM_FindClassFromClassLoader): Added assert
on throwError.
(JVM_DoPrivileged): Throw PrivilegedActionException only if the
exception is an instance of java.lang.Exception but not of
java.lang.RuntimeException.

* src/vm/exceptions.c (exceptions_new_class_utf): New function.
(exceptions_throw_class_utf): Likewise.
(exceptions_throw_classnotfoundexception): Use
exceptions_throw_class_utf.
(exceptions_classnotfoundexception_to_noclassdeffounderror): Removed.
* src/vm/exceptions.h: Likewise.

* src/vm/resolve.c (resolve_handle_pending_exception): New function.
(resolve_class_from_name): Don't convert exception.
* src/vm/resolve.h (resolve_handle_pending_exception): Added.

* src/vmcore/class.c (class_java_lang_Exception): New global variable.
(class_java_lang_ClassNotFoundException): Likewise.
(class_java_lang_RuntimeException): Likewise.
* src/vmcore/class.h: Likewise.

* src/vmcore/linker.c (linker_init): Link new global classes.
* src/vmcore/loader.c (loader_init): Load new global classes.

* src/vmcore/utf8.c (utf_java_lang_RuntimeException): New global
variable.
(utf8_init): Initialize new global variable.
* src/vmcore/utf8.h (utf_java_lang_RuntimeException): Export.

* tests/regression/bugzilla/All.java: Added PR58.
* tests/regression/bugzilla/PR58.java: New file.
14 files changed:
src/cacaoh/dummy.c
src/native/vm/sun/jvm.c
src/vm/exceptions.c
src/vm/exceptions.h
src/vm/resolve.c
src/vm/resolve.h
src/vmcore/class.c
src/vmcore/class.h
src/vmcore/linker.c
src/vmcore/loader.c
src/vmcore/utf8.c
src/vmcore/utf8.h
tests/regression/bugzilla/All.java
tests/regression/bugzilla/PR58.java [new file with mode: 0644]