summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-27 19:51:46 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-27 19:51:46 +0000
commit2e3a610c4a261ae5252d7947f74c70951300fd7a (patch)
tree2ec62fb0c3744a0db1b6ef01346dc719a82a8b49
parent3d83fc70e764488f7a15f105f55b233073f54398 (diff)
downloadgcc-2e3a610c4a261ae5252d7947f74c70951300fd7a.tar.gz
* jni.cc (_Jv_JNI_PopSystemFrame): If environment has exception
set, throw it. (call): Don't throw exception here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32770 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/jni.cc6
2 files changed, 9 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 3f42bfba17a..dd2a68dade7 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,11 @@
2000-03-26 Tom Tromey <tromey@cygnus.com>
+ * jni.cc (_Jv_JNI_PopSystemFrame): If environment has exception
+ set, throw it.
+ (call): Don't throw exception here.
+
+2000-03-26 Tom Tromey <tromey@cygnus.com>
+
* java/lang/mprec.h: Use SIZEOF_VOID_P.
* interpret.cc: Use SIZEOF_VOID_P.
* include/java-cpool.h (_Jv_storeLong): Use SIZEOF_VOID_P.
diff --git a/libjava/jni.cc b/libjava/jni.cc
index 6cf489f3d9a..da9a84860ee 100644
--- a/libjava/jni.cc
+++ b/libjava/jni.cc
@@ -298,6 +298,9 @@ extern "C" void
_Jv_JNI_PopSystemFrame (JNIEnv *env)
{
_Jv_JNI_PopLocalFrame (env, NULL, MARK_SYSTEM);
+
+ if (env->ex)
+ throw env->ex;
}
// This function is used from other template functions. It wraps the
@@ -1723,9 +1726,6 @@ _Jv_JNIMethod::call (ffi_cif *, void *ret, ffi_raw *args, void *__this)
ret, real_args);
_Jv_JNI_PopSystemFrame (env);
-
- if (env->ex)
- JvThrow (env->ex);
}
#endif /* INTERPRETER */