diff options
author | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-02-10 17:16:30 +0000 |
---|---|---|
committer | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-02-10 17:16:30 +0000 |
commit | a13dc0d118a900441b76214132be5c401328eaa5 (patch) | |
tree | 050f8341578bf95abc8c7ab48b6e79fd2b1e77ac /libjava/java | |
parent | d1a00ce0da5cfe000daef5e11f5ff8b0949ea69a (diff) | |
download | ppe42-gcc-a13dc0d118a900441b76214132be5c401328eaa5.tar.gz ppe42-gcc-a13dc0d118a900441b76214132be5c401328eaa5.zip |
2000-02-10 Andrew Haley <aph@cygnus.com>
* interpret.cc: Don't include fdlibm.h.
Replace #if with #ifdef throughout.
Declare extern __ieee754_fmod.
(continue1): Remove op_getfield, op_getstatic, op_putfield,
op_putstatic insns.
* resolve.cc (_Jv_PrepareClass): Use imeth as method pointer.
Search class hierarchy for superclass vtable.
* java/lang/natClassLoader.cc (_Jv_UnregisterClass): Don't fall
off the end of a pointer list.
* java/lang/natThread.cc (stop): Don't abort, throw an exception
instead.
(suspend): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31897 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 7 | ||||
-rw-r--r-- | libjava/java/lang/natThread.cc | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index ba7b2c66b66..e5ff17e02ab 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -368,12 +368,15 @@ _Jv_UnregisterClass (jclass the_class) } _Jv_LoaderInfo **info = &(initiated_classes[hash]); - for ( ; *info; info = &((*info)->next)) + for ( ; ; info = &((*info)->next)) { - while ((*info)->klass == the_class) + while (*info && (*info)->klass == the_class) { *info = (*info)->next; } + + if (*info == NULL) + break; } _Jv_MonitorExit (&ClassClass); diff --git a/libjava/java/lang/natThread.cc b/libjava/java/lang/natThread.cc index 50ab7be19af..6870f02c50d 100644 --- a/libjava/java/lang/natThread.cc +++ b/libjava/java/lang/natThread.cc @@ -19,6 +19,7 @@ details. */ #include <java/lang/Thread.h> #include <java/lang/ThreadGroup.h> #include <java/lang/IllegalArgumentException.h> +#include <java/lang/UnsupportedOperationException.h> #include <java/lang/IllegalThreadStateException.h> #include <java/lang/InterruptedException.h> #include <java/lang/NullPointerException.h> @@ -306,14 +307,16 @@ java::lang::Thread::start (void) void java::lang::Thread::stop (java::lang::Throwable *) { - JvFail ("java::lang::Thread::stop unimplemented"); + _Jv_Throw (new UnsupportedOperationException + (JvNewStringLatin1 ("java::lang::Thread::stop unimplemented"))); } void java::lang::Thread::suspend (void) { checkAccess (); - JvFail ("java::lang::Thread::suspend unimplemented"); + _Jv_Throw (new UnsupportedOperationException + (JvNewStringLatin1 ("java::lang::Thread::suspend unimplemented"))); } void |