aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrth <>2001-03-26 06:05:32 +0000
committerrth <>2001-03-26 06:05:32 +0000
commit7300dcc5bc0effc82677ea775e27e57e14c35724 (patch)
tree8bd00c51e350e8505bf5561673010a0008df7aba
parent01096d69566ff35420f03e60712e7dfc20660c72 (diff)
* 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.
-rw-r--r--libjava/ChangeLog27
-rw-r--r--libjava/defineclass.cc23
-rw-r--r--libjava/exception.cc12
-rw-r--r--libjava/gcj/cni.h12
-rw-r--r--libjava/gcj/javaprims.h4
-rw-r--r--libjava/gnu/gcj/runtime/natFirstThread.cc2
-rw-r--r--libjava/gnu/gcj/xlib/natDrawable.cc2
-rw-r--r--libjava/gnu/gcj/xlib/natFont.cc2
-rw-r--r--libjava/gnu/gcj/xlib/natWMSizeHints.cc2
-rw-r--r--libjava/gnu/gcj/xlib/natWindowAttributes.cc2
-rw-r--r--libjava/gnu/gcj/xlib/natXImage.cc2
-rw-r--r--libjava/interpret.cc23
-rw-r--r--libjava/java/io/natFile.cc2
-rw-r--r--libjava/java/io/natFileDescriptorEcos.cc8
-rw-r--r--libjava/java/io/natFileDescriptorPosix.cc44
-rw-r--r--libjava/java/io/natFileDescriptorWin32.cc34
-rw-r--r--libjava/java/io/natFileWin32.cc2
-rw-r--r--libjava/java/lang/natClass.cc67
-rw-r--r--libjava/java/lang/natClassLoader.cc17
-rw-r--r--libjava/java/lang/natDouble.cc2
-rw-r--r--libjava/java/lang/natObject.cc24
-rw-r--r--libjava/java/lang/natPosixProcess.cc4
-rw-r--r--libjava/java/lang/natRuntime.cc12
-rw-r--r--libjava/java/lang/natString.cc22
-rw-r--r--libjava/java/lang/natSystem.cc8
-rw-r--r--libjava/java/lang/natThread.cc20
-rw-r--r--libjava/java/lang/reflect/natArray.cc42
-rw-r--r--libjava/java/lang/reflect/natConstructor.cc4
-rw-r--r--libjava/java/lang/reflect/natField.cc34
-rw-r--r--libjava/java/lang/reflect/natMethod.cc12
-rw-r--r--libjava/java/util/zip/natDeflater.cc16
-rw-r--r--libjava/java/util/zip/natInflater.cc20
-rw-r--r--libjava/jni.cc2
-rw-r--r--libjava/posix-threads.cc2
-rw-r--r--libjava/prims.cc33
-rw-r--r--libjava/resolve.cc34
36 files changed, 294 insertions, 284 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 35218b36318..9368174ba23 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,30 @@
+2001-03-25 Richard Henderson <rth@redhat.com>
+
+ * 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.
+
2001-03-24 Bryce McKinlay <bryce@albatross.co.nz>
* java/util/HashMap.java (HashMap): If 0 is given for initialCapacity
diff --git a/libjava/defineclass.cc b/libjava/defineclass.cc
index 962b8355aff..c309394212e 100644
--- a/libjava/defineclass.cc
+++ b/libjava/defineclass.cc
@@ -1,6 +1,6 @@
// defineclass.cc - defining a class from .class format.
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -1576,10 +1576,9 @@ _Jv_ClassNameSamePackage (_Jv_Utf8Const *name1, _Jv_Utf8Const *name2)
static void
throw_no_class_def_found_error (jstring msg)
{
- if (msg == 0)
- JvThrow (new java::lang::NoClassDefFoundError);
- else
- JvThrow (new java::lang::NoClassDefFoundError (msg));
+ throw (msg
+ ? new java::lang::NoClassDefFoundError (msg)
+ : new java::lang::NoClassDefFoundError);
}
static void
@@ -1591,17 +1590,15 @@ throw_no_class_def_found_error (char *msg)
static void
throw_class_format_error (jstring msg)
{
- if (msg == 0)
- JvThrow (new java::lang::ClassFormatError);
- else
- JvThrow (new java::lang::ClassFormatError (msg));
+ throw (msg
+ ? new java::lang::ClassFormatError (msg)
+ : new java::lang::ClassFormatError);
}
static void
throw_internal_error (char *msg)
{
- JvThrow
- (new java::lang::InternalError (JvNewStringLatin1 (msg)));
+ throw new java::lang::InternalError (JvNewStringLatin1 (msg));
}
static jfloat int_bits_to_float (jint value)
@@ -1616,12 +1613,12 @@ static jdouble long_bits_to_double (jlong value)
static void throw_incompatible_class_change_error (jstring msg)
{
- JvThrow (new java::lang::IncompatibleClassChangeError (msg));
+ throw new java::lang::IncompatibleClassChangeError (msg);
}
static void throw_class_circularity_error (jstring msg)
{
- JvThrow (new java::lang::ClassCircularityError (msg));
+ throw new java::lang::ClassCircularityError (msg);
}
#endif /* INTERPRETER */
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)
{
diff --git a/libjava/gcj/cni.h b/libjava/gcj/cni.h
index 1dacbd0810d..6b103a34517 100644
--- a/libjava/gcj/cni.h
+++ b/libjava/gcj/cni.h
@@ -106,18 +106,6 @@ public:
{ _Jv_MonitorExit (obj); }
};
-#ifdef SJLJ_EXCEPTIONS
-#define _Jv_Throw _Jv_Sjlj_Throw
-#endif
-
-// Throw some exception.
-extern void JvThrow (jobject obj) __attribute__ ((__noreturn__));
-extern inline void
-JvThrow (jobject obj)
-{
- _Jv_Throw ((void *) obj);
-}
-
/* Call malloc, but throw exception if insufficient memory. */
extern inline void *
JvMalloc (jsize size)
diff --git a/libjava/gcj/javaprims.h b/libjava/gcj/javaprims.h
index 622db0c79f5..2ae65e3e8df 100644
--- a/libjava/gcj/javaprims.h
+++ b/libjava/gcj/javaprims.h
@@ -368,8 +368,8 @@ extern "C" jstring _Jv_NewStringLatin1(const char*, jsize)
extern "C" jsize _Jv_GetStringUTFLength (jstring);
extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *);
-extern "C" void _Jv_Throw (void *) __attribute__ ((__noreturn__));
-extern "C" void _Jv_Sjlj_Throw (void *) __attribute__ ((__noreturn__));
+extern "C" void _Jv_Throw (jthrowable) __attribute__ ((__noreturn__));
+extern "C" void _Jv_Sjlj_Throw (jthrowable) __attribute__ ((__noreturn__));
extern "C" void* _Jv_Malloc (jsize) __attribute__((__malloc__));
extern "C" void* _Jv_Realloc (void *, jsize);
extern "C" void _Jv_Free (void*);
diff --git a/libjava/gnu/gcj/runtime/natFirstThread.cc b/libjava/gnu/gcj/runtime/natFirstThread.cc
index 3b36d392e10..c4ba261bdfe 100644
--- a/libjava/gnu/gcj/runtime/natFirstThread.cc
+++ b/libjava/gnu/gcj/runtime/natFirstThread.cc
@@ -69,7 +69,7 @@ gnu::gcj::runtime::FirstThread::run (void)
if (vers != JNI_VERSION_1_1 && vers != JNI_VERSION_1_2)
{
// FIXME: unload the library.
- _Jv_Throw (new java::lang::UnsatisfiedLinkError (JvNewStringLatin1 ("unrecognized version from preloaded JNI_OnLoad")));
+ throw new java::lang::UnsatisfiedLinkError (JvNewStringLatin1 ("unrecognized version from preloaded JNI_OnLoad"));
}
}
diff --git a/libjava/gnu/gcj/xlib/natDrawable.cc b/libjava/gnu/gcj/xlib/natDrawable.cc
index c6e253a549b..6cca3b74901 100644
--- a/libjava/gnu/gcj/xlib/natDrawable.cc
+++ b/libjava/gnu/gcj/xlib/natDrawable.cc
@@ -59,7 +59,7 @@ gnu::gcj::xlib::Drawable::getBounds(java::awt::Rectangle* rv)
switch (status)
{
case BadDrawable:
- JvThrow(new XException(display, status));
+ throw new XException(display, status);
default:
; // All OK, NOP.
}
diff --git a/libjava/gnu/gcj/xlib/natFont.cc b/libjava/gnu/gcj/xlib/natFont.cc
index 7e6b3f709c3..7bfea7b17f8 100644
--- a/libjava/gnu/gcj/xlib/natFont.cc
+++ b/libjava/gnu/gcj/xlib/natFont.cc
@@ -29,7 +29,7 @@ gnu::gcj::RawData* gnu::gcj::xlib::Font::loadFont(Display* display,
XFontStruct* fontStruct = XLoadQueryFont(dpy, cName);
if (fontStruct == 0)
{
- JvThrow(new XException(JvNewStringLatin1("font not found")));
+ throw new XException(JvNewStringLatin1("font not found"));
}
return reinterpret_cast<gnu::gcj::RawData*>(fontStruct);
diff --git a/libjava/gnu/gcj/xlib/natWMSizeHints.cc b/libjava/gnu/gcj/xlib/natWMSizeHints.cc
index f38ea387fa3..0724a5a0925 100644
--- a/libjava/gnu/gcj/xlib/natWMSizeHints.cc
+++ b/libjava/gnu/gcj/xlib/natWMSizeHints.cc
@@ -23,7 +23,7 @@ void gnu::gcj::xlib::WMSizeHints::init(WMSizeHints* copyFrom)
if (hints == 0)
{
jstring errorMessage = JvNewStringLatin1("XAllocSizeHints failed");
- JvThrow(new java::lang::OutOfMemoryError(errorMessage));
+ throw new java::lang::OutOfMemoryError(errorMessage);
}
if (copyFrom != 0)
diff --git a/libjava/gnu/gcj/xlib/natWindowAttributes.cc b/libjava/gnu/gcj/xlib/natWindowAttributes.cc
index 5281acbab52..b6193481807 100644
--- a/libjava/gnu/gcj/xlib/natWindowAttributes.cc
+++ b/libjava/gnu/gcj/xlib/natWindowAttributes.cc
@@ -31,7 +31,7 @@ void gnu::gcj::xlib::WindowAttributes::initFromWindow(Window* from)
Status status = XGetWindowAttributes(dpy, win, attributesIn);
if ((status == BadDrawable) | (status == BadWindow))
- JvThrow(new XException(display, status));
+ throw new XException(display, status);
}
diff --git a/libjava/gnu/gcj/xlib/natXImage.cc b/libjava/gnu/gcj/xlib/natXImage.cc
index a527e8e665b..a92cf9f8c6f 100644
--- a/libjava/gnu/gcj/xlib/natXImage.cc
+++ b/libjava/gnu/gcj/xlib/natXImage.cc
@@ -40,7 +40,7 @@ void gnu::gcj::xlib::XImage::init(Visual* visual, jint depth,
if (ximage == 0)
{
jstring errorMessage = JvNewStringLatin1("XCreateImage failed");
- JvThrow(new java::lang::OutOfMemoryError(errorMessage));
+ throw new java::lang::OutOfMemoryError(errorMessage);
}
bool reinitialize = false;
diff --git a/libjava/interpret.cc b/libjava/interpret.cc
index 44dc1ca1f10..b121a1b7ebb 100644
--- a/libjava/interpret.cc
+++ b/libjava/interpret.cc
@@ -337,7 +337,7 @@ void _Jv_InterpMethod::run_normal (ffi_cif* cif,
+ storage_size * sizeof (_Jv_word));
jobject ex = _this->run (cif, ret, args, inv);
- if (ex != 0) _Jv_Throw (ex);
+ if (ex != 0) throw static_cast<jthrowable>(ex);
}
void _Jv_InterpMethod::run_synch_object (ffi_cif* cif,
@@ -357,7 +357,7 @@ void _Jv_InterpMethod::run_synch_object (ffi_cif* cif,
jobject ex = _this->run (cif, ret, args, inv);
_Jv_MonitorExit (rcv);
- if (ex != 0) _Jv_Throw (ex);
+ if (ex != 0) throw static_cast<jthrowable>(ex);
}
void _Jv_InterpMethod::run_synch_class (ffi_cif* cif,
@@ -377,7 +377,7 @@ void _Jv_InterpMethod::run_synch_class (ffi_cif* cif,
jobject ex = _this->run (cif, ret, args, inv);
_Jv_MonitorExit (sync);
- if (ex != 0) _Jv_Throw (ex);
+ if (ex != 0) throw static_cast<jthrowable>(ex);
}
/*
@@ -679,7 +679,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
// working if the method is final. So instead we do an
// explicit test.
if (! sp[0].o)
- throw new java::lang::NullPointerException ();
+ throw new java::lang::NullPointerException;
if (rmeth->vtable_index == -1)
{
@@ -1979,7 +1979,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
jclass type = field->type;
jint field_offset = field->u.boffset;
if (field_offset > 0xffff)
- JvThrow (new java::lang::VirtualMachineError);
+ throw new java::lang::VirtualMachineError;
jobject obj = POPA();
NULLCHECK(obj);
@@ -2086,7 +2086,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
jint field_offset = field->u.boffset;
if (field_offset > 0xffff)
- JvThrow (new java::lang::VirtualMachineError);
+ throw new java::lang::VirtualMachineError;
if (type->isPrimitive ())
{
@@ -2237,7 +2237,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
SAVE_PC;
{
jobject value = POPA();
- JvThrow (value);
+ throw static_cast<jthrowable>(value);
}
NEXT_INSN;
@@ -2250,8 +2250,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
if (value != NULL && ! to->isInstance (value))
{
- JvThrow (new java::lang::ClassCastException
- (to->getName()));
+ throw new java::lang::ClassCastException (to->getName());
}
PUSHA (value);
@@ -2412,13 +2411,13 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
static void
throw_internal_error (char *msg)
{
- JvThrow (new java::lang::InternalError (JvNewStringLatin1 (msg)));
+ throw new java::lang::InternalError (JvNewStringLatin1 (msg));
}
static void
throw_incompatible_class_change_error (jstring msg)
{
- JvThrow (new java::lang::IncompatibleClassChangeError (msg));
+ throw new java::lang::IncompatibleClassChangeError (msg);
}
#ifndef HANDLE_SEGV
@@ -2429,7 +2428,7 @@ throw_null_pointer_exception ()
if (null_pointer_exc == NULL)
null_pointer_exc = new java::lang::NullPointerException;
- JvThrow (null_pointer_exc);
+ throw null_pointer_exc;
}
#endif
diff --git a/libjava/java/io/natFile.cc b/libjava/java/io/natFile.cc
index 2b0da1bebf4..9fc55b2a808 100644
--- a/libjava/java/io/natFile.cc
+++ b/libjava/java/io/natFile.cc
@@ -118,7 +118,7 @@ java::io::File::getCanonicalPath (void)
#ifdef HAVE_REALPATH
if (realpath (buf, buf2) == NULL)
- _Jv_Throw (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
// FIXME: what encoding to assume for file names? This affects many
// calls.
diff --git a/libjava/java/io/natFileDescriptorEcos.cc b/libjava/java/io/natFileDescriptorEcos.cc
index b8c1a8d368e..43574df8893 100644
--- a/libjava/java/io/natFileDescriptorEcos.cc
+++ b/libjava/java/io/natFileDescriptorEcos.cc
@@ -54,7 +54,7 @@ java::io::FileDescriptor::sync (void)
// as errors.
#ifdef HAVE_FSYNC
#else
- JvThrow (new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE)));
+ throw new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE));
#endif
}
@@ -75,9 +75,9 @@ void
java::io::FileDescriptor::write (jbyteArray b, jint offset, jint len)
{
if (! b)
- JvThrow (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
char *bytes = (char *)elements (b) + offset;
::diag_write (bytes, len);
}
@@ -96,7 +96,7 @@ java::io::FileDescriptor::seek (jlong pos, jint whence)
jlong here = getFilePointer ();
if ((whence == SET && pos > len) || (whence == CUR && here + pos > len))
- JvThrow (new EOFException);
+ throw new EOFException;
return 0;
}
diff --git a/libjava/java/io/natFileDescriptorPosix.cc b/libjava/java/io/natFileDescriptorPosix.cc
index 0b80c6435c2..8e4be858a08 100644
--- a/libjava/java/io/natFileDescriptorPosix.cc
+++ b/libjava/java/io/natFileDescriptorPosix.cc
@@ -59,9 +59,9 @@ java::io::FileDescriptor::sync (void)
// as errors.
#ifdef HAVE_FSYNC
if (::fsync (fd) && errno != EROFS && errno != EINVAL)
- JvThrow (new SyncFailedException (JvNewStringLatin1 (strerror (errno))));
+ throw new SyncFailedException (JvNewStringLatin1 (strerror (errno)));
#else
- JvThrow (new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE)));
+ throw new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE));
#endif
}
@@ -112,7 +112,7 @@ java::io::FileDescriptor::open (jstring path, jint jflags)
{
char msg[MAXPATHLEN + 200];
sprintf (msg, "%s: %s", buf, strerror (errno));
- JvThrow (new FileNotFoundException (JvNewStringLatin1 (msg)));
+ throw new FileNotFoundException (JvNewStringLatin1 (msg));
}
return fd;
}
@@ -127,10 +127,10 @@ java::io::FileDescriptor::write (jint b)
InterruptedIOException *iioe
= new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
iioe->bytesTransferred = r == -1 ? 0 : r;
- JvThrow (iioe);
+ throw iioe;
}
else if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
// FIXME: loop if r != 1.
}
@@ -138,9 +138,9 @@ void
java::io::FileDescriptor::write (jbyteArray b, jint offset, jint len)
{
if (! b)
- JvThrow (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
jbyte *bytes = elements (b) + offset;
int r = ::write (fd, bytes, len);
if (java::lang::Thread::interrupted())
@@ -148,10 +148,10 @@ java::io::FileDescriptor::write (jbyteArray b, jint offset, jint len)
InterruptedIOException *iioe
= new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
iioe->bytesTransferred = r == -1 ? 0 : r;
- JvThrow (iioe);
+ throw iioe;
}
else if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
// FIXME: loop if r != len.
}
@@ -161,7 +161,7 @@ java::io::FileDescriptor::close (void)
jint save = fd;
fd = -1;
if (::close (save))
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
}
jint
@@ -173,11 +173,11 @@ java::io::FileDescriptor::seek (jlong pos, jint whence)
jlong here = getFilePointer ();
if ((whence == SET && pos > len) || (whence == CUR && here + pos > len))
- JvThrow (new EOFException);
+ throw new EOFException;
off_t r = ::lseek (fd, (off_t) pos, whence == SET ? SEEK_SET : SEEK_CUR);
if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
return r;
}
@@ -186,7 +186,7 @@ java::io::FileDescriptor::length (void)
{
struct stat sb;
if (::fstat (fd, &sb))
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
return sb.st_size;
}
@@ -195,7 +195,7 @@ java::io::FileDescriptor::getFilePointer (void)
{
off_t r = ::lseek (fd, 0, SEEK_CUR);
if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
return r;
}
@@ -211,10 +211,10 @@ java::io::FileDescriptor::read (void)
InterruptedIOException *iioe
= new InterruptedIOException (JvNewStringLatin1 ("read interrupted"));
iioe->bytesTransferred = r == -1 ? 0 : r;
- JvThrow (iioe);
+ throw iioe;
}
else if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
return b & 0xFF;
}
@@ -222,10 +222,10 @@ jint
java::io::FileDescriptor::read (jbyteArray buffer, jint offset, jint count)
{
if (! buffer)
- JvThrow (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
jsize bsize = JvGetArrayLength (buffer);
if (offset < 0 || count < 0 || offset + count > bsize)
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
jbyte *bytes = elements (buffer) + offset;
int r = ::read (fd, bytes, count);
if (r == 0)
@@ -235,10 +235,10 @@ java::io::FileDescriptor::read (jbyteArray buffer, jint offset, jint count)
InterruptedIOException *iioe
= new InterruptedIOException (JvNewStringLatin1 ("read interrupted"));
iioe->bytesTransferred = r == -1 ? 0 : r;
- JvThrow (iioe);
+ throw iioe;
}
else if (r == -1)
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
return r;
}
@@ -271,7 +271,7 @@ java::io::FileDescriptor::available (void)
if (r == -1)
{
posix_error:
- JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ throw new IOException (JvNewStringLatin1 (strerror (errno)));
}
// If we didn't get anything, and we have fstat, then see if see if
@@ -313,6 +313,6 @@ java::io::FileDescriptor::available (void)
return (jint) num;
#else
- JvThrow (new IOException (JvNewStringLatin1 ("unimplemented")));
+ throw new IOException (JvNewStringLatin1 ("unimplemented"));
#endif
}
diff --git a/libjava/java/io/natFileDescriptorWin32.cc b/libjava/java/io/natFileDescriptorWin32.cc
index 0bfd924abf0..3f8ae76b269 100644
--- a/libjava/java/io/natFileDescriptorWin32.cc
+++ b/libjava/java/io/natFileDescriptorWin32.cc
@@ -65,7 +65,7 @@ java::io::FileDescriptor::valid (void) {
void
java::io::FileDescriptor::sync (void) {
if (! FlushFileBuffers ((HANDLE)fd))
- JvThrow (new SyncFailedException (JvNewStringLatin1 (winerr ())));
+ throw new SyncFailedException (JvNewStringLatin1 (winerr ()));
}
jint
@@ -109,7 +109,7 @@ java::io::FileDescriptor::open (jstring path, jint jflags) {
{
char msg[MAX_PATH + 1000];
sprintf (msg, "%s: %s", buf, winerr ());
- JvThrow (new FileNotFoundException (JvNewStringLatin1 (msg)));
+ throw new FileNotFoundException (JvNewStringLatin1 (msg));
}
return (jint)handle;
@@ -127,13 +127,13 @@ java::io::FileDescriptor::write (jint b)
{
InterruptedIOException *iioe = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
iioe->bytesTransferred = bytesWritten;
- JvThrow (iioe);
+ throw iioe;
}
if (bytesWritten != 1)
- JvThrow (new IOException (JvNewStringLatin1 (winerr ())));
+ throw new IOException (JvNewStringLatin1 (winerr ()));
}
else
- JvThrow (new IOException (JvNewStringLatin1 (winerr ())));
+ throw new IOException (JvNewStringLatin1 (winerr ()));
// FIXME: loop until bytesWritten == 1
}
@@ -141,9 +141,9 @@ void
java::io::FileDescriptor::write(jbyteArray b, jint offset, jint len)
{
if (! b)
- JvThrow (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if(offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
jbyte *buf = elements (b) + offset;
DWORD bytesWritten;
@@ -153,11 +153,11 @@ java::io::FileDescriptor::write(jbyteArray b, jint offset, jint len)
{
InterruptedIOException *iioe = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
iioe->bytesTransferred = bytesWritten;
- JvThrow (iioe);
+ throw iioe;
}
}
else
- JvThrow(new IOException (JvNewStringLatin1 (winerr ())));
+ throw new IOException (JvNewStringLatin1 (winerr ()));
// FIXME: loop until bytesWritten == len
}
@@ -167,7 +167,7 @@ java::io::FileDescriptor::close (void)
HANDLE save = (HANDLE)fd;
fd = (jint)INVALID_HANDLE_VALUE;
if (! CloseHandle (save))
- JvThrow (new IOException (JvNewStringLatin1 (winerr ())));
+ throw new IOException (JvNewStringLatin1 (winerr ()));
}
jint
@@ -179,12 +179,12 @@ java::io::FileDescriptor::seek (jlong pos, jint whence)
jlong here = getFilePointer();
if ((whence == SET && pos > len) || (whence == CUR && here + pos > len))
- JvThrow (new EOFException);
+ throw new EOFException;
LONG high = pos >> 32;
DWORD low = SetFilePointer ((HANDLE)fd, (DWORD)(0xffffffff & pos), &high, whence == SET ? FILE_BEGIN : FILE_CURRENT);
if ((low == 0xffffffff) && (GetLastError () != NO_ERROR))
- JvThrow (new IOException (JvNewStringLatin1 (winerr ())));
+ throw new IOException (JvNewStringLatin1 (winerr ()));
return low;
}
@@ -194,7 +194,7 @@ java::io::FileDescriptor::getFilePointer(void)
LONG high = 0;
DWORD low = SetFilePointer ((HANDLE)fd, 0, &high, FILE_CURRENT);
if ((low == 0xffffffff) && (GetLastError() != NO_ERROR))
- JvThrow(new IOException (JvNewStringLatin1 (winerr ())));
+ throw new IOException (JvNewStringLatin1 (winerr ()));
return (((jlong)high) << 32L) | (jlong)low;
}
@@ -216,7 +216,7 @@ java::io::FileDescriptor::read(void)
DWORD read;
if (! ReadFile ((HANDLE)fd, &buf, 1, &read, NULL))
- JvThrow (new IOException (JvNewStringLatin1 (winerr ())));
+ throw new IOException (JvNewStringLatin1 (winerr ()));
if (! read)
return -1;
else
@@ -227,17 +227,17 @@ jint
java::io::FileDescriptor::read(jbyteArray buffer, jint offset, jint count)
{
if (! buffer)
- JvThrow(new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
jsize bsize = JvGetArrayLength (buffer);
if (offset < 0 || count < 0 || offset + count > bsize)
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
jbyte *bytes = elements (buffer) + offset;
DWORD read;
if (! ReadFile((HANDLE)fd, bytes, count, &read, NULL))
- JvThrow (new IOException (JvNewStringLatin1 (winerr ())));
+ throw new IOException (JvNewStringLatin1 (winerr ()));
return (jint)read;
}
diff --git a/libjava/java/io/natFileWin32.cc b/libjava/java/io/natFileWin32.cc
index a56845a7134..95be487bbdd 100644
--- a/libjava/java/io/natFileWin32.cc
+++ b/libjava/java/io/natFileWin32.cc
@@ -104,7 +104,7 @@ java::io::File::getCanonicalPath (void)
LPTSTR unused;
if(!GetFullPathName(buf, MAX_PATH, buf2, &unused))
- _Jv_Throw (new IOException (JvNewStringLatin1 ("GetFullPathName failed")));
+ throw new IOException (JvNewStringLatin1 ("GetFullPathName failed"));
// FIXME: what encoding to assume for file names? This affects many
// calls.
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index 5d7497109af..25e92c7ba6c 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -75,7 +75,7 @@ jclass
java::lang::Class::forName (jstring className, java::lang::ClassLoader *loader)
{
if (! className)
- JvThrow (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
jsize length = _Jv_GetStringUTFLength (className);
char buffer[length];
@@ -93,7 +93,7 @@ java::lang::Class::forName (jstring className, java::lang::ClassLoader *loader)
if (klass)
_Jv_InitClass (klass);
else
- JvThrow (new java::lang::ClassNotFoundException (className));
+ throw new java::lang::ClassNotFoundException (className);
return klass;
}
@@ -129,7 +129,7 @@ java::lang::Class::getConstructor (JArray<jclass> *param_types)
return cons;
}
}
- JvThrow (new java::lang::NoSuchMethodException);
+ throw new java::lang::NoSuchMethodException;
}
JArray<java::lang::reflect::Constructor *> *
@@ -194,7 +194,7 @@ java::lang::Class::getDeclaredConstructor (JArray<jclass> *param_types)
return cons;
}
}
- JvThrow (new java::lang::NoSuchMethodException);
+ throw new java::lang::NoSuchMethodException;
}
java::lang::reflect::Field *
@@ -241,7 +241,7 @@ java::lang::Class::getDeclaredField (jstring name)
rfield->name = name;
return rfield;
}
- JvThrow (new java::lang::NoSuchFieldException (name));
+ throw new java::lang::NoSuchFieldException (name);
}
JArray<java::lang::reflect::Field *> *
@@ -324,7 +324,7 @@ java::lang::Class::getDeclaredMethod (jstring name,
return rmethod;
}
}
- JvThrow (new java::lang::NoSuchMethodException);
+ throw new java::lang::NoSuchMethodException;
}
JArray<java::lang::reflect::Method *> *
@@ -500,7 +500,7 @@ java::lang::Class::getMethod (jstring name, JArray<jclass> *param_types)
}
}
}
- JvThrow (new java::lang::NoSuchMethodException);
+ throw new java::lang::NoSuchMethodException;
}
// This is a very slow implementation, since it re-scans all the
@@ -645,19 +645,19 @@ java::lang::Class::newInstance (void)
// FIXME: we special-case one check here just to pass a Plum Hall
// test. Once access checking is implemented, remove this.
if (this == &ClassClass)
- JvThrow (new java::lang::IllegalAccessException);
+ throw new java::lang::IllegalAccessException;
if (isPrimitive ()
|| isInterface ()
|| isArray ()
|| java::lang::reflect::Modifier::isAbstract(accflags))
- JvThrow (new java::lang::InstantiationException);
+ throw new java::lang::InstantiationException;
_Jv_InitClass (this);
_Jv_Method *meth = _Jv_GetMethodLocal (this, init_name, void_signature);
if (! meth)
- JvThrow (new java::lang::NoSuchMethodException);
+ throw new java::lang::NoSuchMethodException;
jobject r = JvAllocObject (this);
((void (*) (jobject)) meth->ncode) (r);
@@ -725,7 +725,7 @@ java::lang::Class::initializeClass (void)
if (state == JV_STATE_ERROR)
{
_Jv_MonitorExit (this);
- JvThrow (new java::lang::NoClassDefFoundError);
+ throw new java::lang::NoClassDefFoundError;
}
// Step 6.
@@ -776,7 +776,7 @@ java::lang::Class::initializeClass (void)
state = JV_STATE_ERROR;
notifyAll ();
_Jv_MonitorExit (this);
- JvThrow (except);
+ throw except;
}
_Jv_MonitorEnter (this);
@@ -880,21 +880,20 @@ _Jv_LookupInterfaceMethod (jclass klass, _Jv_Utf8Const *name,
continue;
if (Modifier::isStatic(meth->accflags))
- JvThrow (new java::lang::IncompatibleClassChangeError
- (_Jv_GetMethodString (klass, meth->name)));
+ throw new java::lang::IncompatibleClassChangeError
+ (_Jv_GetMethodString (klass, meth->name));
if (Modifier::isAbstract(meth->accflags))
- JvThrow (new java::lang::AbstractMethodError
- (_Jv_GetMethodString (klass, meth->name)));
+ throw new java::lang::AbstractMethodError
+ (_Jv_GetMethodString (klass, meth->name));
if (! Modifier::isPublic(meth->accflags))
- JvThrow (new java::lang::IllegalAccessError
- (_Jv_GetMethodString (klass, meth->name)));
+ throw new java::lang::IllegalAccessError
+ (_Jv_GetMethodString (klass, meth->name));
_Jv_AddMethodToCache (klass, meth);
return meth->ncode;
}
- JvThrow (new java::lang::IncompatibleClassChangeError);
- return NULL; // Placate compiler.
+ throw new java::lang::IncompatibleClassChangeError;
}
// Fast interface method lookup by index.
@@ -988,11 +987,11 @@ _Jv_CheckCast (jclass c, jobject obj)
{
if (__builtin_expect
(obj != NULL && ! _Jv_IsAssignableFrom(c, JV_CLASS (obj)), false))
- JvThrow (new java::lang::ClassCastException
- ((new java::lang::StringBuffer
- (obj->getClass()->getName()))->append
- (JvNewStringUTF(" cannot be cast to "))->append
- (c->getName())->toString()));
+ throw new java::lang::ClassCastException
+ ((new java::lang::StringBuffer
+ (obj->getClass()->getName()))->append
+ (JvNewStringUTF(" cannot be cast to "))->append
+ (c->getName())->toString());
return obj;
}
@@ -1007,7 +1006,7 @@ _Jv_CheckArrayStore (jobject arr, jobject obj)
jclass obj_class = JV_CLASS (obj);
if (__builtin_expect
(! _Jv_IsAssignableFrom (elt_class, obj_class), false))
- JvThrow (new java::lang::ArrayStoreException);
+ throw new java::lang::ArrayStoreException;
}
}
@@ -1214,7 +1213,7 @@ _Jv_GetMethodString (jclass klass, _Jv_Utf8Const *name)
void
_Jv_ThrowNoSuchMethodError ()
{
- JvThrow (new java::lang::NoSuchMethodError ());
+ throw new java::lang::NoSuchMethodError;
}
// Each superinterface of a class (i.e. each interface that the class
@@ -1257,14 +1256,14 @@ _Jv_AppendPartialITable (jclass klass, jclass iface, void **itable,
else if (meth)
{
if (Modifier::isStatic(meth->accflags))
- JvThrow (new java::lang::IncompatibleClassChangeError
- (_Jv_GetMethodString (klass, meth->name)));
+ throw new java::lang::IncompatibleClassChangeError
+ (_Jv_GetMethodString (klass, meth->name));
if (Modifier::isAbstract(meth->accflags))
- JvThrow (new java::lang::AbstractMethodError
- (_Jv_GetMethodString (klass, meth->name)));
+ throw new java::lang::AbstractMethodError
+ (_Jv_GetMethodString (klass, meth->name));
if (! Modifier::isPublic(meth->accflags))
- JvThrow (new java::lang::IllegalAccessError
- (_Jv_GetMethodString (klass, meth->name)));
+ throw new java::lang::IllegalAccessError
+ (_Jv_GetMethodString (klass, meth->name));
itable[pos] = meth->ncode;
}
@@ -1414,5 +1413,5 @@ java::lang::Class::getPrivateMethod (jstring name, JArray<jclass> *param_types)
}
}
}
- JvThrow (new java::lang::NoSuchMethodException);
+ throw new java::lang::NoSuchMethodException;
}
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc
index 5f7138c3289..84fe0c4b648 100644
--- a/libjava/java/lang/natClassLoader.cc
+++ b/libjava/java/lang/natClassLoader.cc
@@ -1,6 +1,6 @@
// natClassLoader.cc - Implementation of java.lang.ClassLoader native methods.
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -80,8 +80,8 @@ java::lang::ClassLoader::defineClass0 (jstring name,
_Jv_Utf8Const * name2 = _Jv_makeUtf8Const (name);
if (! _Jv_VerifyClassName (name2))
- JvThrow (new java::lang::ClassFormatError
- (JvNewStringLatin1 ("erroneous class name")));
+ throw new java::lang::ClassFormatError
+ (JvNewStringLatin1 ("erroneous class name"));
klass->name = name2;
}
@@ -104,7 +104,10 @@ java::lang::ClassLoader::defineClass0 (jstring name,
// anything but ClassNotFoundException,
// or some kind of Error.
- JvThrow (ex);
+ // FIXME: Rewrite this as a cleanup instead of
+ // as a catch handler.
+
+ throw ex;
}
// if everything proceeded sucessfully, we're loaded.
@@ -151,9 +154,7 @@ _Jv_WaitForState (jclass klass, int state)
_Jv_MonitorExit (klass);
if (klass->state == JV_STATE_ERROR)
- {
- _Jv_Throw (new java::lang::LinkageError ());
- }
+ throw new java::lang::LinkageError;
}
// Finish linking a class. Only called from ClassLoader::resolveClass.
@@ -253,7 +254,7 @@ _Jv_PrepareCompiledClass (jclass klass)
if (! found)
{
jstring str = _Jv_NewStringUTF (name->data);
- JvThrow (new java::lang::ClassNotFoundException (str));
+ throw new java::lang::ClassNotFoundException (str);
}
pool->data[index].clazz = found;
diff --git a/libjava/java/lang/natDouble.cc b/libjava/java/lang/natDouble.cc
index af2d70ad6f3..7e8e0b74797 100644
--- a/libjava/java/lang/natDouble.cc
+++ b/libjava/java/lang/natDouble.cc
@@ -184,5 +184,5 @@ java::lang::Double::parseDouble(jstring str)
if (endptr == data + blength)
return val;
}
- _Jv_Throw (new NumberFormatException);
+ throw new NumberFormatException;
}
diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc
index 43201f64d86..3ea073ba057 100644
--- a/libjava/java/lang/natObject.cc
+++ b/libjava/java/lang/natObject.cc
@@ -1,6 +1,6 @@
// natObject.cc - Implementation of the Object class.
-/* Copyright (C) 1998, 1999, 2000 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -90,7 +90,7 @@ java::lang::Object::clone (void)
else
{
if (! java::lang::Cloneable::class$.isAssignableFrom(klass))
- JvThrow (new CloneNotSupportedException);
+ throw new CloneNotSupportedException;
size = klass->size();
r = JvAllocObject (klass, size);
@@ -173,8 +173,8 @@ java::lang::Object::notify (void)
sync_init ();
_Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info;
if (__builtin_expect (_Jv_CondNotify (&si->condition, &si->mutex), false))
- JvThrow (new IllegalMonitorStateException(JvNewStringLatin1
- ("current thread not owner")));
+ throw new IllegalMonitorStateException(JvNewStringLatin1
+ ("current thread not owner"));
}
void
@@ -184,8 +184,8 @@ java::lang::Object::notifyAll (void)
sync_init ();
_Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info;
if (__builtin_expect (_Jv_CondNotifyAll (&si->condition, &si->mutex), false))
- JvThrow (new IllegalMonitorStateException(JvNewStringLatin1
- ("current thread not owner")));
+ throw new IllegalMonitorStateException(JvNewStringLatin1
+ ("current thread not owner"));
}
void
@@ -194,16 +194,16 @@ java::lang::Object::wait (jlong timeout, jint nanos)
if (__builtin_expect (INIT_NEEDED (this), false))
sync_init ();
if (__builtin_expect (timeout < 0 || nanos < 0 || nanos > 999999, false))
- JvThrow (new IllegalArgumentException);
+ throw new IllegalArgumentException;
_Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info;
switch (_Jv_CondWait (&si->condition, &si->mutex, timeout, nanos))
{
case _JV_NOT_OWNER:
- JvThrow (new IllegalMonitorStateException (JvNewStringLatin1
- ("current thread not owner")));
+ throw new IllegalMonitorStateException (JvNewStringLatin1
+ ("current thread not owner"));
case _JV_INTERRUPTED:
if (Thread::interrupted ())
- JvThrow (new InterruptedException);
+ throw new InterruptedException;
}
}
@@ -224,7 +224,7 @@ _Jv_MonitorEnter (jobject obj)
{
#ifndef HANDLE_SEGV
if (__builtin_expect (! obj, false))
- JvThrow (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
#endif
if (__builtin_expect (INIT_NEEDED (obj), false))
obj->sync_init ();
@@ -239,7 +239,7 @@ _Jv_MonitorExit (jobject obj)
JvAssert (! INIT_NEEDED (obj));
_Jv_SyncInfo *si = (_Jv_SyncInfo *) obj->sync_info;
if (__builtin_expect (_Jv_MutexUnlock (&si->mutex), false))
- JvThrow (new java::lang::IllegalMonitorStateException);
+ throw new java::lang::IllegalMonitorStateException;
return 0;
}
diff --git a/libjava/java/lang/natPosixProcess.cc b/libjava/java/lang/natPosixProcess.cc
index 0582bd1e82b..5cce9674c9a 100644
--- a/libjava/java/lang/natPosixProcess.cc
+++ b/libjava/java/lang/natPosixProcess.cc
@@ -58,7 +58,7 @@ java::lang::ConcreteProcess::exitValue (void)
if (r == -1)
{
jstring x = JvNewStringLatin1 (strerror (errno));
- _Jv_Throw (new IllegalThreadStateException (x));
+ throw new IllegalThreadStateException (x);
}
hasExited = true;
@@ -85,7 +85,7 @@ java::lang::ConcreteProcess::waitFor (void)
}
if (java::lang::Thread::interrupted())
- _Jv_Throw (new InterruptedException (JvNewStringLatin1 ("wait interrupted")));
+ throw new InterruptedException (JvNewStringLatin1 ("wait interrupted"));
}
return status;
diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc
index 3f1a0b335fc..0c0898107c3 100644
--- a/libjava/java/lang/natRuntime.cc
+++ b/libjava/java/lang/natRuntime.cc
@@ -136,7 +136,7 @@ java::lang::Runtime::_load (jstring path, jboolean do_search)
const char *msg = lt_dlerror ();
jstring str = path->concat (JvNewStringLatin1 (": "));
str = str->concat (JvNewStringLatin1 (msg));
- _Jv_Throw (new UnsatisfiedLinkError (str));
+ throw new UnsatisfiedLinkError (str);
}
add_library (h);
@@ -154,14 +154,14 @@ java::lang::Runtime::_load (jstring path, jboolean do_search)
if (vers != JNI_VERSION_1_1 && vers != JNI_VERSION_1_2)
{
// FIXME: unload the library.
- _Jv_Throw (new UnsatisfiedLinkError (JvNewStringLatin1 ("unrecognized version from JNI_OnLoad")));
+ throw new UnsatisfiedLinkError (JvNewStringLatin1 ("unrecognized version from JNI_OnLoad"));
}
}
#else
- _Jv_Throw (new UnknownError
- (JvNewStringLatin1 (do_search
- ? "Runtime.loadLibrary not implemented"
- : "Runtime.load not implemented")));
+ throw new UnknownError
+ (JvNewStringLatin1 (do_search
+ ? "Runtime.loadLibrary not implemented"
+ : "Runtime.load not implemented"));
#endif /* USE_LTDL */
}
diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc
index cc3d8eb46d1..c052905dc48 100644
--- a/libjava/java/lang/natString.cc
+++ b/libjava/java/lang/natString.cc
@@ -378,11 +378,11 @@ java::lang::String::init(jcharArray chars, jint offset, jint count,
jboolean dont_copy)
{
if (! chars)
- JvThrow (new NullPointerException);
+ throw new NullPointerException;
jsize data_size = JvGetArrayLength (chars);
if (offset < 0 || count < 0 || offset + count < 0
|| offset + count > data_size)
- JvThrow (new StringIndexOutOfBoundsException());
+ throw new StringIndexOutOfBoundsException;
jcharArray array;
jchar *pdst;
if (! dont_copy)
@@ -408,11 +408,11 @@ java::lang::String::init(jbyteArray ascii, jint hibyte, jint offset,
jint count)
{
if (! ascii)
- JvThrow (new NullPointerException);
+ throw new NullPointerException;
jsize data_size = JvGetArrayLength (ascii);
if (offset < 0 || count < 0 || offset + count < 0
|| offset + count > data_size)
- JvThrow (new java::lang::StringIndexOutOfBoundsException());
+ throw new java::lang::StringIndexOutOfBoundsException;
jcharArray array = JvNewCharArray(count);
jbyte *psrc = elements (ascii) + offset;
jchar *pdst = elements (array);
@@ -431,11 +431,11 @@ java::lang::String::init (jbyteArray bytes, jint offset, jint count,
jstring encoding)
{
if (! bytes)
- JvThrow (new NullPointerException);
+ throw new NullPointerException;
jsize data_size = JvGetArrayLength (bytes);
if (offset < 0 || count < 0 || offset + count < 0
|| offset + count > data_size)
- JvThrow (new StringIndexOutOfBoundsException);
+ throw new StringIndexOutOfBoundsException;
jcharArray array = JvNewCharArray (count);
gnu::gcj::convert::BytesToUnicode *converter
= gnu::gcj::convert::BytesToUnicode::getDecoder(encoding);
@@ -493,7 +493,7 @@ jchar
java::lang::String::charAt(jint i)
{
if (i < 0 || i >= count)
- JvThrow (new java::lang::StringIndexOutOfBoundsException());
+ throw new java::lang::StringIndexOutOfBoundsException;
return JvGetStringChars(this)[i];
}
@@ -504,7 +504,7 @@ java::lang::String::getChars(jint srcBegin, jint srcEnd,
jint dst_length = JvGetArrayLength (dst);
if (srcBegin < 0 || srcBegin > srcEnd || srcEnd > count
|| dstBegin < 0 || dstBegin + (srcEnd-srcBegin) > dst_length)
- JvThrow (new java::lang::StringIndexOutOfBoundsException());
+ throw new java::lang::StringIndexOutOfBoundsException;
jchar *dPtr = elements (dst) + dstBegin;
jchar *sPtr = JvGetStringChars (this) + srcBegin;
jint i = srcEnd-srcBegin;
@@ -554,7 +554,7 @@ java::lang::String::getBytes(jint srcBegin, jint srcEnd,
jint dst_length = JvGetArrayLength (dst);
if (srcBegin < 0 || srcBegin > srcEnd || srcEnd > count
|| dstBegin < 0 || dstBegin + (srcEnd-srcBegin) > dst_length)
- JvThrow (new java::lang::StringIndexOutOfBoundsException());
+ throw new java::lang::StringIndexOutOfBoundsException;
jbyte *dPtr = elements (dst) + dstBegin;
jchar *sPtr = JvGetStringChars (this) + srcBegin;
jint i = srcEnd-srcBegin;
@@ -745,7 +745,7 @@ jstring
java::lang::String::substring (jint beginIndex, jint endIndex)
{
if (beginIndex < 0 || endIndex > count || beginIndex > endIndex)
- JvThrow (new StringIndexOutOfBoundsException());
+ throw new StringIndexOutOfBoundsException;
if (beginIndex == 0 && endIndex == count)
return this;
jint newCount = endIndex - beginIndex;
@@ -944,7 +944,7 @@ java::lang::String::valueOf(jcharArray data, jint offset, jint count)
{
jint data_length = JvGetArrayLength (data);
if (offset < 0 || count < 0 || offset+count > data_length)
- JvThrow (new java::lang::IndexOutOfBoundsException());
+ throw new java::lang::IndexOutOfBoundsException;
jstring result = JvAllocString(count);
jchar *sPtr = elements (data) + offset;
jchar *dPtr = JvGetStringChars(result);
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc
index 330be72220f..abf62caae8a 100644
--- a/libjava/java/lang/natSystem.cc
+++ b/libjava/java/lang/natSystem.cc
@@ -90,7 +90,7 @@ java::lang::System::arraycopy (jobject src, jint src_offset,
jint count)
{
if (! src || ! dst)
- _Jv_Throw (new NullPointerException);
+ throw new NullPointerException;
jclass src_c = src->getClass();
jclass dst_c = dst->getClass();
@@ -100,14 +100,14 @@ java::lang::System::arraycopy (jobject src, jint src_offset,
if (! src_c->isArray() || ! dst_c->isArray()
|| src_comp->isPrimitive() != dst_comp->isPrimitive()
|| (src_comp->isPrimitive() && src_comp != dst_comp))
- _Jv_Throw (new ArrayStoreException);
+ throw new ArrayStoreException;
__JArray *src_a = (__JArray *) src;
__JArray *dst_a = (__JArray *) dst;
if (src_offset < 0 || dst_offset < 0 || count < 0
|| src_offset + count > src_a->length
|| dst_offset + count > dst_a->length)
- _Jv_Throw (new ArrayIndexOutOfBoundsException);
+ throw new ArrayIndexOutOfBoundsException;
// Do-nothing cases.
if ((src == dst && src_offset == dst_offset)
@@ -149,7 +149,7 @@ java::lang::System::arraycopy (jobject src, jint src_offset,
{
if (*src_elts
&& ! dst_comp->isAssignableFrom((*src_elts)->getClass()))
- _Jv_Throw (new ArrayStoreException);
+ throw new ArrayStoreException;
*dst_elts++ = *src_elts++;
}
}
diff --git a/libjava/java/lang/natThread.cc b/libjava/java/lang/natThread.cc
index 796713af400..042ec36f48f 100644
--- a/libjava/java/lang/natThread.cc
+++ b/libjava/java/lang/natThread.cc
@@ -116,7 +116,7 @@ void
java::lang::Thread::join (jlong millis, jint nanos)
{
if (millis < 0 || nanos < 0 || nanos > 999999)
- _Jv_Throw (new IllegalArgumentException);
+ throw new IllegalArgumentException;
Thread *current = currentThread ();
@@ -135,7 +135,7 @@ java::lang::Thread::join (jlong millis, jint nanos)
_Jv_MutexUnlock (&nt->join_mutex);
if (current->isInterrupted (true))
- _Jv_Throw (new InterruptedException);
+ throw new InterruptedException;
}
void
@@ -150,7 +150,7 @@ java::lang::Thread::setPriority (jint newPriority)
{
checkAccess ();
if (newPriority < MIN_PRIORITY || newPriority > MAX_PRIORITY)
- _Jv_Throw (new IllegalArgumentException);
+ throw new IllegalArgumentException;
jint gmax = group->getMaxPriority();
if (newPriority > gmax)
@@ -165,7 +165,7 @@ void
java::lang::Thread::sleep (jlong millis, jint nanos)
{
if (millis < 0 || nanos < 0 || nanos > 999999)
- _Jv_Throw (new IllegalArgumentException);
+ throw new IllegalArgumentException;
if (millis == 0 && nanos == 0)
++nanos;
@@ -180,7 +180,7 @@ java::lang::Thread::sleep (jlong millis, jint nanos)
_Jv_MutexUnlock (&nt->join_mutex);
if (current->isInterrupted (true))
- _Jv_Throw (new InterruptedException);
+ throw new InterruptedException;
}
void
@@ -299,7 +299,7 @@ java::lang::Thread::start (void)
// Its illegal to re-start() a thread, even if its dead.
if (!startable_flag)
- _Jv_Throw (new IllegalThreadStateException);
+ throw new IllegalThreadStateException;
alive_flag = true;
startable_flag = false;
@@ -310,16 +310,16 @@ java::lang::Thread::start (void)
void
java::lang::Thread::stop (java::lang::Throwable *)
{
- _Jv_Throw (new UnsupportedOperationException
- (JvNewStringLatin1 ("java::lang::Thread::stop unimplemented")));
+ throw new UnsupportedOperationException
+ (JvNewStringLatin1 ("java::lang::Thread::stop unimplemented"));
}
void
java::lang::Thread::suspend (void)
{
checkAccess ();
- _Jv_Throw (new UnsupportedOperationException
- (JvNewStringLatin1 ("java::lang::Thread::suspend unimplemented")));
+ throw new UnsupportedOperationException
+ (JvNewStringLatin1 ("java::lang::Thread::suspend unimplemented"));
}
void
diff --git a/libjava/java/lang/reflect/natArray.cc b/libjava/java/lang/reflect/natArray.cc
index 1680456d0b3..bc48041f455 100644
--- a/libjava/java/lang/reflect/natArray.cc
+++ b/libjava/java/lang/reflect/natArray.cc
@@ -1,6 +1,6 @@
// natField.cc - Implementation of java.lang.reflect.Field native methods.
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -64,7 +64,7 @@ java::lang::reflect::Array::getLength (jobject array)
{
jclass arrayType = array->getClass();
if (! arrayType->isArray ())
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
return ((__JArray*) array)->length;
}
@@ -73,7 +73,7 @@ java::lang::reflect::Array::getElementType (jobject array, jint index)
{
jclass arrayType = array->getClass();
if (! arrayType->isArray ())
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
jint length = ((__JArray*) array)->length;
if ((_Jv_uint) index >= (_Jv_uint) length)
_Jv_ThrowBadArrayIndex(index);
@@ -86,7 +86,7 @@ java::lang::reflect::Array::getBoolean (jobject array, jint index)
jclass elementType = getElementType (array, index);
if (elementType == JvPrimClass (boolean))
return elements ((jbooleanArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
jchar
@@ -95,7 +95,7 @@ java::lang::reflect::Array::getChar (jobject array, jint index)
jclass elementType = getElementType (array, index);
if (elementType == JvPrimClass (char))
return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
jbyte
@@ -104,7 +104,7 @@ java::lang::reflect::Array::getByte (jobject array, jint index)
jclass elementType = getElementType (array, index);
if (elementType == JvPrimClass (byte))
return elements ((jbyteArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
jshort
@@ -115,7 +115,7 @@ java::lang::reflect::Array::getShort (jobject array, jint index)
return elements ((jshortArray) array) [index];
if (elementType == JvPrimClass (byte))
return elements ((jbyteArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
jint
@@ -130,7 +130,7 @@ java::lang::reflect::Array::getInt (jobject array, jint index)
return elements ((jbyteArray) array) [index];
if (elementType == JvPrimClass (char))
return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
jlong
@@ -147,7 +147,7 @@ java::lang::reflect::Array::getLong (jobject array, jint index)
return elements ((jbyteArray) array) [index];
if (elementType == JvPrimClass (char))
return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
jfloat
@@ -166,7 +166,7 @@ java::lang::reflect::Array::getFloat (jobject array, jint index)
return elements ((jbyteArray) array) [index];
if (elementType == JvPrimClass (char))
return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
jdouble
@@ -187,7 +187,7 @@ java::lang::reflect::Array::getDouble (jobject array, jint index)
return elements ((jbyteArray) array) [index];
if (elementType == JvPrimClass (char))
return elements ((jcharArray) array) [index];
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
jobject
@@ -218,7 +218,7 @@ java::lang::reflect::Array::get (jobject array, jint index)
else
return java::lang::Boolean::FALSE;
}
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -236,7 +236,7 @@ java::lang::reflect::Array::setChar (jobject array, jint index, jchar value)
else if (elementType == JvPrimClass (double))
elements ((jdoubleArray) array) [index] = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -256,7 +256,7 @@ java::lang::reflect::Array::setByte (jobject array, jint index, jbyte value)
else if (elementType == JvPrimClass (double))
elements ((jdoubleArray) array) [index] = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -274,7 +274,7 @@ java::lang::reflect::Array::setShort (jobject array, jint index, jshort value)
else if (elementType == JvPrimClass (double))
elements ((jdoubleArray) array) [index] = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -290,7 +290,7 @@ java::lang::reflect::Array::setInt (jobject array, jint index, jint value)
else if (elementType == JvPrimClass (double))
elements ((jdoubleArray) array) [index] = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -304,7 +304,7 @@ java::lang::reflect::Array::setLong (jobject array, jint index, jlong value)
else if (elementType == JvPrimClass (double))
elements ((jdoubleArray) array) [index] = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -316,7 +316,7 @@ java::lang::reflect::Array::setFloat (jobject array, jint index, jfloat value)
else if (elementType == JvPrimClass (double))
elements ((jdoubleArray) array) [index] = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -326,7 +326,7 @@ java::lang::reflect::Array::setDouble (jobject array, jint index, jdouble value)
if (elementType == JvPrimClass (double))
elements ((jdoubleArray) array) [index] = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -337,7 +337,7 @@ java::lang::reflect::Array::setBoolean (jobject array,
if (elementType == JvPrimClass (boolean))
elements ((jbooleanArray) array) [index] = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -345,6 +345,6 @@ java::lang::reflect::Array::set (jobject array, jint index,
jobject value, jclass elType)
{
if (! _Jv_IsInstanceOf (value, elType))
- JvThrow (new java::lang::IllegalArgumentException ());
+ throw new java::lang::IllegalArgumentException;
elements ((jobjectArray) array) [index] = value;
}
diff --git a/libjava/java/lang/reflect/natConstructor.cc b/libjava/java/lang/reflect/natConstructor.cc
index 2209ad9fa64..1103d777bf7 100644
--- a/libjava/java/lang/reflect/natConstructor.cc
+++ b/libjava/java/lang/reflect/natConstructor.cc
@@ -1,6 +1,6 @@
// natConstructor.cc - Native code for Constructor class.
-/* Copyright (C) 1999, 2000 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation
This file is part of libgcj.
@@ -48,7 +48,7 @@ java::lang::reflect::Constructor::newInstance (jobjectArray args)
using namespace java::lang::reflect;
if (Modifier::isAbstract (declaringClass->getModifiers()))
- JvThrow (new InstantiationException);
+ throw new InstantiationException;
jmethodID meth = _Jv_FromReflectedConstructor (this);
// In the constructor case the return type is the type of the
diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc
index 0aedc4ea363..b627485b58b 100644
--- a/libjava/java/lang/reflect/natField.cc
+++ b/libjava/java/lang/reflect/natField.cc
@@ -79,9 +79,9 @@ getAddr (java::lang::reflect::Field* field, jclass caller, jobject obj)
else
{
if (obj == NULL)
- _Jv_Throw (new java::lang::NullPointerException ());
+ throw new java::lang::NullPointerException;
if (! _Jv_IsInstanceOf (obj, field->getDeclaringClass()))
- JvThrow (new java::lang::IllegalArgumentException ());
+ throw new java::lang::IllegalArgumentException;
return (void*) ((char*) obj + fld->getOffset ());
}
}
@@ -91,7 +91,7 @@ getBoolean (jclass cls, void* addr)
{
if (cls == JvPrimClass (boolean))
return * (jboolean *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static jchar
@@ -99,7 +99,7 @@ getChar (jclass cls, void* addr)
{
if (cls == JvPrimClass (char))
return * (jchar *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static jbyte
@@ -107,7 +107,7 @@ getByte (jclass cls, void* addr)
{
if (cls == JvPrimClass (byte))
return * (jbyte *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static jshort
@@ -117,7 +117,7 @@ getShort (jclass cls, void* addr)
return * (jshort *) addr;
if (cls == JvPrimClass (byte))
return * (jbyte *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static jint
@@ -131,7 +131,7 @@ getInt (jclass cls, void* addr)
return * (jchar *) addr;
if (cls == JvPrimClass (byte))
return * (jbyte *) addr;
- _Jv_Throw (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static jlong
@@ -249,7 +249,7 @@ java::lang::reflect::Field::get (jclass caller, jobject obj)
else
return java::lang::Boolean::FALSE;
}
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static void
@@ -258,7 +258,7 @@ setBoolean (jclass type, void *addr, jboolean value)
if (type == JvPrimClass (boolean))
* (jboolean *) addr = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static void
@@ -275,7 +275,7 @@ setChar (jclass type, void *addr, jchar value)
else if (type == JvPrimClass (double))
* (jdouble *) addr = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static void
@@ -294,7 +294,7 @@ setByte (jclass type, void *addr, jbyte value)
else if (type == JvPrimClass (double))
* (jdouble *) addr = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static void
@@ -311,7 +311,7 @@ setShort (jclass type, void *addr, jshort value)
else if (type == JvPrimClass (double))
* (jdouble *) addr = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static void
@@ -326,7 +326,7 @@ setInt (jclass type, void *addr, jint value)
else if (type == JvPrimClass (double))
* (jdouble *) addr = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static void
@@ -339,7 +339,7 @@ setLong (jclass type, void *addr, jlong value)
else if (type == JvPrimClass (double))
* (jdouble *) addr = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static void
@@ -350,7 +350,7 @@ setFloat (jclass type, void *addr, jfloat value)
else if (type == JvPrimClass (double))
* (jdouble *) addr = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
static void
@@ -359,7 +359,7 @@ setDouble (jclass type, void *addr, jdouble value)
if (type == JvPrimClass (double))
* (jdouble *) addr = value;
else
- JvThrow (new java::lang::IllegalArgumentException());
+ throw new java::lang::IllegalArgumentException;
}
void
@@ -421,7 +421,7 @@ void
java::lang::reflect::Field::set (jclass caller, jobject object, jobject value, jclass type)
{
if (! _Jv_IsInstanceOf (value, type))
- JvThrow (new java::lang::IllegalArgumentException ());
+ throw new java::lang::IllegalArgumentException;
void* addr = getAddr (this, caller, object);
* (jobject*) addr = value;
}
diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc
index 4e9d3ceea4a..61adf26cb00 100644
--- a/libjava/java/lang/reflect/natMethod.cc
+++ b/libjava/java/lang/reflect/natMethod.cc
@@ -160,9 +160,9 @@ java::lang::reflect::Method::invoke (jobject obj, jobjectArray args)
{
jclass k = obj ? obj->getClass() : NULL;
if (! obj)
- JvThrow (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if (! declaringClass->isAssignableFrom(k))
- JvThrow (new java::lang::IllegalArgumentException);
+ throw new java::lang::IllegalArgumentException;
// FIXME: access checks.
// Find the possibly overloaded method based on the runtime type
@@ -447,7 +447,7 @@ _Jv_CallAnyMethodA (jobject obj,
// The JDK accepts this, so we do too.
}
else if (parameter_types->length != args->length)
- JvThrow (new java::lang::IllegalArgumentException);
+ throw new java::lang::IllegalArgumentException;
int param_count = parameter_types->length;
@@ -469,7 +469,7 @@ _Jv_CallAnyMethodA (jobject obj,
if (! argelts[i]
|| ! k
|| ! can_widen (k, paramelts[i]))
- JvThrow (new java::lang::IllegalArgumentException);
+ throw new java::lang::IllegalArgumentException;
if (paramelts[i] == JvPrimClass (boolean))
COPY (&argvals[i],
@@ -499,7 +499,7 @@ _Jv_CallAnyMethodA (jobject obj,
else
{
if (argelts[i] && ! paramelts[i]->isAssignableFrom (k))
- JvThrow (new java::lang::IllegalArgumentException);
+ throw new java::lang::IllegalArgumentException;
COPY (&argvals[i], argelts[i], jobject);
}
}
@@ -514,7 +514,7 @@ _Jv_CallAnyMethodA (jobject obj,
&ret_value);
if (ex)
- JvThrow (ex);
+ throw ex;
jobject r;
#define VAL(Wrapper, Field) (new Wrapper (ret_value.Field))
diff --git a/libjava/java/util/zip/natDeflater.cc b/libjava/java/util/zip/natDeflater.cc
index 8ef6cf66d6e..934d870b0a7 100644
--- a/libjava/java/util/zip/natDeflater.cc
+++ b/libjava/java/util/zip/natDeflater.cc
@@ -37,9 +37,9 @@ java::util::zip::Deflater::deflate (jbyteArray buf, jint off, jint len)
z_streamp s = (z_streamp) zstream;
if (! buf)
- _Jv_Throw (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if (off < 0 || len < 0 || off + len > buf->length)
- _Jv_Throw (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
if (len == 0)
return 0;
@@ -58,7 +58,7 @@ java::util::zip::Deflater::deflate (jbyteArray buf, jint off, jint len)
case Z_STREAM_ERROR:
case Z_BUF_ERROR:
// FIXME?
- _Jv_Throw (new java::lang::InternalError);
+ throw new java::lang::InternalError;
break;
case Z_OK:
@@ -134,9 +134,9 @@ java::util::zip::Deflater::setDictionary (jbyteArray buf, jint off, jint len)
z_streamp s = (z_streamp) zstream;
if (! buf)
- _Jv_Throw (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if (off < 0 || len < 0 || off + len > buf->length)
- _Jv_Throw (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
// Ignore errors.
deflateSetDictionary (s, (Bytef *) (elements (buf) + off), len);
@@ -149,9 +149,9 @@ java::util::zip::Deflater::setInput (jbyteArray buf, jint off, jint len)
z_streamp s = (z_streamp) zstream;
if (! buf)
- _Jv_Throw (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if (off < 0 || len < 0 || off + len > buf->length)
- _Jv_Throw (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
s->next_in = (Bytef *) (elements (buf) + off);
s->avail_in = len;
@@ -205,7 +205,7 @@ java::util::zip::Deflater::init (jint level, jboolean no_header)
jstring msg = NULL;
if (stream->msg != NULL)
msg = JvNewStringLatin1 (stream->msg);
- _Jv_Throw (new java::lang::InternalError (msg));
+ throw new java::lang::InternalError (msg);
}
zstream = reinterpret_cast<gnu::gcj::RawData *> (stream);
diff --git a/libjava/java/util/zip/natInflater.cc b/libjava/java/util/zip/natInflater.cc
index a9768fce77d..0d1529bf044 100644
--- a/libjava/java/util/zip/natInflater.cc
+++ b/libjava/java/util/zip/natInflater.cc
@@ -94,9 +94,9 @@ java::util::zip::Inflater::inflate (jbyteArray buf, jint off, jint len)
z_streamp s = (z_streamp) zstream;
if (! buf)
- _Jv_Throw (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if (off < 0 || len < 0 || off + len > buf->length)
- _Jv_Throw (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
if (len == 0)
return 0;
@@ -127,12 +127,12 @@ java::util::zip::Inflater::inflate (jbyteArray buf, jint off, jint len)
break;
case Z_DATA_ERROR:
- _Jv_Throw (new java::util::zip::DataFormatException
- (s->msg == NULL ? NULL : JvNewStringLatin1 (s->msg)));
+ throw new java::util::zip::DataFormatException
+ (s->msg == NULL ? NULL : JvNewStringLatin1 (s->msg));
break;
case Z_MEM_ERROR:
- _Jv_Throw (new java::lang::OutOfMemoryError);
+ throw new java::lang::OutOfMemoryError;
break;
case Z_OK:
@@ -158,9 +158,9 @@ java::util::zip::Inflater::setDictionary (jbyteArray buf, jint off, jint len)
z_streamp s = (z_streamp) zstream;
if (! buf)
- _Jv_Throw (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if (off < 0 || len < 0 || off + len > buf->length)
- _Jv_Throw (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
// Ignore errors.
inflateSetDictionary (s, (Bytef *) (elements (buf) + off), len);
@@ -174,9 +174,9 @@ java::util::zip::Inflater::setInput (jbyteArray buf, jint off, jint len)
z_streamp s = (z_streamp) zstream;
if (! buf)
- _Jv_Throw (new java::lang::NullPointerException);
+ throw new java::lang::NullPointerException;
if (off < 0 || len < 0 || off + len > buf->length)
- _Jv_Throw (new java::lang::ArrayIndexOutOfBoundsException);
+ throw new java::lang::ArrayIndexOutOfBoundsException;
s->next_in = (Bytef *) (elements (buf) + off);
s->avail_in = len;
@@ -202,7 +202,7 @@ java::util::zip::Inflater::init (jboolean no_header)
jstring msg = NULL;
if (stream->msg != NULL)
msg = JvNewStringLatin1 (stream->msg);
- _Jv_Throw (new java::lang::InternalError (msg));
+ throw new java::lang::InternalError (msg);
}
zstream = reinterpret_cast<gnu::gcj::RawData *> (stream);
diff --git a/libjava/jni.cc b/libjava/jni.cc
index 7b682f177b7..7fac86ee126 100644
--- a/libjava/jni.cc
+++ b/libjava/jni.cc
@@ -1746,7 +1746,7 @@ _Jv_LookupJNIMethod (jclass klass, _Jv_Utf8Const *name,
if (function == NULL)
{
jstring str = JvNewStringUTF (name->data);
- JvThrow (new java::lang::AbstractMethodError (str));
+ throw new java::lang::AbstractMethodError (str);
}
}
diff --git a/libjava/posix-threads.cc b/libjava/posix-threads.cc
index 20538436481..ce70257673d 100644
--- a/libjava/posix-threads.cc
+++ b/libjava/posix-threads.cc
@@ -398,7 +398,7 @@ _Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
if (r)
{
const char* msg = "Cannot create additional threads";
- JvThrow (new java::lang::OutOfMemoryError (JvNewStringUTF (msg)));
+ throw new java::lang::OutOfMemoryError (JvNewStringUTF (msg));
}
}
diff --git a/libjava/prims.cc b/libjava/prims.cc
index 6cd9b0572f0..9455b7551a2 100644
--- a/libjava/prims.cc
+++ b/libjava/prims.cc
@@ -100,17 +100,16 @@ void (*_Jv_JVMPI_Notify_THREAD_END) (JVMPI_Event *event);
#endif
-extern "C" void _Jv_ThrowSignal (void *) __attribute ((noreturn));
+extern "C" void _Jv_ThrowSignal (jthrowable) __attribute ((noreturn));
// Just like _Jv_Throw, but fill in the stack trace first. Although
// this is declared extern in order that its name not be mangled, it
// is not intended to be used outside this file.
void
-_Jv_ThrowSignal (void *e)
+_Jv_ThrowSignal (jthrowable throwable)
{
- java::lang::Throwable *throwable = (java::lang::Throwable *)e;
throwable->fillInStackTrace ();
- _Jv_Throw (throwable);
+ throw throwable;
}
#ifdef HANDLE_SEGV
@@ -251,7 +250,7 @@ _Jv_makeUtf8Const (char* s, int len)
len = strlen (s);
Utf8Const* m = (Utf8Const*) _Jv_AllocBytes (sizeof(Utf8Const) + len + 1);
if (! m)
- JvThrow (no_memory);
+ throw no_memory;
memcpy (m->data, s, len);
m->data[len] = 0;
m->length = len;
@@ -316,14 +315,14 @@ _Jv_GCWatch (jobject obj)
void
_Jv_ThrowBadArrayIndex(jint bad_index)
{
- JvThrow (new java::lang::ArrayIndexOutOfBoundsException
- (java::lang::String::valueOf(bad_index)));
+ throw new java::lang::ArrayIndexOutOfBoundsException
+ (java::lang::String::valueOf (bad_index));
}
void
_Jv_ThrowNullPointerException ()
{
- throw new java::lang::NullPointerException ();
+ throw new java::lang::NullPointerException;
}
// Allocate some unscanned memory and throw an exception if no memory.
@@ -332,7 +331,7 @@ _Jv_AllocBytesChecked (jsize size)
{
void *r = _Jv_AllocBytes (size);
if (! r)
- _Jv_Throw (no_memory);
+ throw no_memory;
return r;
}
@@ -346,7 +345,7 @@ _Jv_AllocObject (jclass klass, jint size)
jobject obj = (jobject) _Jv_AllocObj (size, klass);
if (__builtin_expect (! obj, false))
- JvThrow (no_memory);
+ throw no_memory;
// If this class has inherited finalize from Object, then don't
// bother registering a finalizer. We know that finalize() is the
@@ -390,7 +389,7 @@ jobjectArray
_Jv_NewObjectArray (jsize count, jclass elementClass, jobject init)
{
if (__builtin_expect (count < 0, false))
- JvThrow (new java::lang::NegativeArraySizeException);
+ throw new java::lang::NegativeArraySizeException;
JvAssert (! elementClass->isPrimitive ());
@@ -404,7 +403,7 @@ _Jv_NewObjectArray (jsize count, jclass elementClass, jobject init)
obj = (jobjectArray) _Jv_AllocArray (size, klass);
if (__builtin_expect (! obj, false))
- JvThrow (no_memory);
+ throw no_memory;
// Cast away const.
jsize *lp = const_cast<jsize *> (&obj->length);
*lp = count;
@@ -426,7 +425,7 @@ _Jv_NewPrimArray (jclass eltype, jint count)
{
int elsize = eltype->size();
if (__builtin_expect (count < 0, false))
- JvThrow (new java::lang::NegativeArraySizeException ());
+ throw new java::lang::NegativeArraySizeException;
JvAssert (eltype->isPrimitive ());
jobject dummy = NULL;
@@ -435,13 +434,13 @@ _Jv_NewPrimArray (jclass eltype, jint count)
// Check for overflow.
if (__builtin_expect ((size_t) count >
(SIZE_T_MAX - size) / elsize, false))
- JvThrow (no_memory);
+ throw no_memory;
jclass klass = _Jv_GetArrayClass (eltype, 0);
__JArray *arr = (__JArray*) _Jv_AllocObj (size + elsize * count, klass);
if (__builtin_expect (! arr, false))
- JvThrow (no_memory);
+ throw no_memory;
// Cast away const.
jsize *lp = const_cast<jsize *> (&arr->length);
*lp = count;
@@ -953,7 +952,7 @@ _Jv_Malloc (jsize size)
size = 1;
void *ptr = malloc ((size_t) size);
if (__builtin_expect (ptr == NULL, false))
- JvThrow (no_memory);
+ throw no_memory;
return ptr;
}
@@ -964,7 +963,7 @@ _Jv_Realloc (void *ptr, jsize size)
size = 1;
ptr = realloc (ptr, (size_t) size);
if (__builtin_expect (ptr == NULL, false))
- JvThrow (no_memory);
+ throw no_memory;
return ptr;
}
diff --git a/libjava/resolve.cc b/libjava/resolve.cc
index b0a0565e32e..d165c80b242 100644
--- a/libjava/resolve.cc
+++ b/libjava/resolve.cc
@@ -70,7 +70,7 @@ static _Jv_Utf8Const *init_name = _Jv_makeUtf8Const ("<init>", 6);
static void throw_incompatible_class_change_error (jstring msg)
{
- JvThrow (new java::lang::IncompatibleClassChangeError (msg));
+ throw new java::lang::IncompatibleClassChangeError (msg);
}
_Jv_word
@@ -98,7 +98,7 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
if (! found)
{
jstring str = _Jv_NewStringUTF (name->data);
- JvThrow (new java::lang::ClassNotFoundException (str));
+ throw new java::lang::ClassNotFoundException (str);
}
if ((found->accflags & Modifier::PUBLIC) == Modifier::PUBLIC
@@ -110,7 +110,7 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
}
else
{
- JvThrow (new java::lang::IllegalAccessError (found->getName()));
+ throw new java::lang::IllegalAccessError (found->getName());
}
}
break;
@@ -185,17 +185,16 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
_Jv_ResolveField (field, cls->loader);
if (field_type != 0 && field->type != field_type)
- JvThrow
- (new java::lang::LinkageError
- (JvNewStringLatin1
- ("field type mismatch with different loaders")));
+ throw new java::lang::LinkageError
+ (JvNewStringLatin1
+ ("field type mismatch with different loaders"));
the_field = field;
goto end_of_field_search;
}
else
{
- JvThrow (new java::lang::IllegalAccessError);
+ throw new java::lang::IllegalAccessError;
}
}
}
@@ -319,7 +318,7 @@ _Jv_ResolvePoolEntry (jclass klass, int index)
msg = msg->concat (JvNewStringLatin1("."));
msg = msg->concat (_Jv_NewStringUTF (method_name->data));
msg = msg->concat (JvNewStringLatin1(" was not found."));
- JvThrow(new java::lang::NoSuchMethodError (msg));
+ throw new java::lang::NoSuchMethodError (msg);
}
pool->data[index].rmethod =
@@ -366,7 +365,7 @@ _Jv_SearchMethodInClass (jclass cls, jclass klass,
}
else
{
- JvThrow (new java::lang::IllegalAccessError);
+ throw new java::lang::IllegalAccessError;
}
}
return 0;
@@ -486,7 +485,7 @@ _Jv_DetermineVTableIndex (jclass klass,
static void
_Jv_abstractMethodError ()
{
- JvThrow (new java::lang::AbstractMethodError);
+ throw new java::lang::AbstractMethodError;
}
void
@@ -684,8 +683,7 @@ _Jv_PrepareClass(jclass klass)
{
clz->state = JV_STATE_ERROR;
clz->notifyAll ();
- JvThrow (new java::lang::IncompatibleClassChangeError
- (clz->getName ()));
+ throw new java::lang::IncompatibleClassChangeError (clz->getName ());
}
/* FIXME: At this point, if (loader != super_class->loader), we
@@ -1211,10 +1209,9 @@ _Jv_BuildResolvedMethod (_Jv_Method* method,
static void
throw_class_format_error (jstring msg)
{
- if (msg == 0)
- JvThrow (new java::lang::ClassFormatError);
- else
- JvThrow (new java::lang::ClassFormatError (msg));
+ throw (msg
+ ? new java::lang::ClassFormatError (msg)
+ : new java::lang::ClassFormatError);
}
static void
@@ -1226,8 +1223,7 @@ throw_class_format_error (char *msg)
static void
throw_internal_error (char *msg)
{
- JvThrow
- (new java::lang::InternalError (JvNewStringLatin1 (msg)));
+ throw new java::lang::InternalError (JvNewStringLatin1 (msg));
}