From: rth Date: Mon, 26 Mar 2001 07:05:32 +0000 (+0000) Subject: * exception.cc (java_eh_info): Make value type jthrowable. X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=3139614a9394ccd14218e29799bc5c9db0a741b2 * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40838 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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 + + * 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 * 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(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(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(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(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(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 *param_types) return cons; } } - JvThrow (new java::lang::NoSuchMethodException); + throw new java::lang::NoSuchMethodException; } JArray * @@ -194,7 +194,7 @@ java::lang::Class::getDeclaredConstructor (JArray *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 * @@ -324,7 +324,7 @@ java::lang::Class::getDeclaredMethod (jstring name, return rmethod; } } - JvThrow (new java::lang::NoSuchMethodException); + throw new java::lang::NoSuchMethodException; } JArray * @@ -500,7 +500,7 @@ java::lang::Class::getMethod (jstring name, JArray *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 *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 (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 (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 (&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 (&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 ("", 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)); }