diff options
author | Richard Henderson <rth@redhat.com> | 2001-03-25 23:05:32 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-03-25 23:05:32 -0800 |
commit | b3208f56cbe28aabe191564dd27cf6d78bfe9fd5 (patch) | |
tree | 8bd00c51e350e8505bf5561673010a0008df7aba /libjava/exception.cc | |
parent | 56b8908481ae59ad65338b4d1249b040a057cc27 (diff) | |
download | gcc-b3208f56cbe28aabe191564dd27cf6d78bfe9fd5.tar.gz |
exception.cc (java_eh_info): Make value type jthrowable.
* exception.cc (java_eh_info): Make value type jthrowable.
(_Jv_type_matcher): Remove now unneeded cast.
(_Jv_Throw): Make argument type jthrowable. Munge name
for SJLJ_EXCEPTIONS here ...
* gcj/cni.h: ... not here.
(JvThrow): Remove.
* gcj/javaprims.h (_Jv_Throw, _Jv_Sjlj_Throw): Update declarations.
* defineclass.cc, interpret.cc, jni.cc, posix-threads.cc,
prims.cc, resolve.cc, gnu/gcj/runtime/natFirstThread.cc,
gnu/gcj/xlib/natDrawable.cc, gnu/gcj/xlib/natFont.cc,
gnu/gcj/xlib/natWMSizeHints.cc, gnu/gcj/xlib/natWindowAttributes.cc,
gnu/gcj/xlib/natXImage.cc, java/io/natFile.cc,
java/io/natFileDescriptorEcos.cc, java/io/natFileDescriptorPosix.cc,
java/io/natFileDescriptorWin32.cc, java/io/natFileWin32.cc,
java/lang/natClass.cc, java/lang/natClassLoader.cc,
java/lang/natDouble.cc, java/lang/natObject.cc,
java/lang/natPosixProcess.cc, java/lang/natRuntime.cc,
java/lang/natString.cc, java/lang/natSystem.cc,
java/lang/natThread.cc, java/lang/reflect/natArray.cc,
java/lang/reflect/natConstructor.cc, java/lang/reflect/natField.cc,
java/lang/reflect/natMethod.cc, java/util/zip/natDeflater.cc,
java/util/zip/natInflater.cc:
Use throw, not JvThrow or _Jv_Throw.
From-SVN: r40838
Diffstat (limited to 'libjava/exception.cc')
-rw-r--r-- | libjava/exception.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libjava/exception.cc b/libjava/exception.cc index b8b9634e94d..fdbfc420c0e 100644 --- a/libjava/exception.cc +++ b/libjava/exception.cc @@ -24,7 +24,7 @@ details. */ typedef struct { __eh_info eh_info; - void *value; + jthrowable value; } java_eh_info; @@ -60,7 +60,7 @@ _Jv_type_matcher (java_eh_info *info, void* match_info, size_t mi = (size_t) match_info; if ((mi & 1) != 0) match_info = _Jv_FindClass ((Utf8Const*) (mi - 1), NULL); - if (! _Jv_IsInstanceOf ((jobject) info->value, (jclass) match_info)) + if (! _Jv_IsInstanceOf (info->value, (jclass) match_info)) return NULL; } @@ -136,11 +136,15 @@ _Jv_setup_eh_info (__eh_info *) /* Perform a throw, Java style. Throw will unwind through this call, so there better not be any handlers or exception thrown here. */ +#ifdef SJLJ_EXCEPTIONS +#define _Jv_Throw _Jv_Sjlj_Throw +#endif + extern "C" void -_Jv_Throw (void *value) +_Jv_Throw (jthrowable value) { if (value == NULL) - value = (void *) new java::lang::NullPointerException (); + value = new java::lang::NullPointerException; java_eh_info *ehinfo = *(__get_eh_info ()); if (ehinfo == NULL) { |