diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 3f42bfba17a7..dd2a68dade78 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2000-03-26 Tom Tromey + + * jni.cc (_Jv_JNI_PopSystemFrame): If environment has exception + set, throw it. + (call): Don't throw exception here. + 2000-03-26 Tom Tromey * java/lang/mprec.h: Use SIZEOF_VOID_P. diff --git a/libjava/jni.cc b/libjava/jni.cc index 6cf489f3d9a5..da9a84860ee2 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 */