aboutsummaryrefslogtreecommitdiff
path: root/libjava/exception.cc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-03-25 23:05:32 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-03-25 23:05:32 -0800
commitb3208f56cbe28aabe191564dd27cf6d78bfe9fd5 (patch)
tree8bd00c51e350e8505bf5561673010a0008df7aba /libjava/exception.cc
parent56b8908481ae59ad65338b4d1249b040a057cc27 (diff)
downloadgcc-b3208f56cbe28aabe191564dd27cf6d78bfe9fd5.zip
gcc-b3208f56cbe28aabe191564dd27cf6d78bfe9fd5.tar.gz
gcc-b3208f56cbe28aabe191564dd27cf6d78bfe9fd5.tar.bz2
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.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/libjava/exception.cc b/libjava/exception.cc
index b8b9634..fdbfc42 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)
{