aboutsummaryrefslogtreecommitdiff
path: root/libjava/jni.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/jni.cc')
-rw-r--r--libjava/jni.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/libjava/jni.cc b/libjava/jni.cc
index 9865ce4..0005578 100644
--- a/libjava/jni.cc
+++ b/libjava/jni.cc
@@ -1984,9 +1984,9 @@ _Jv_GetJNIEnvNewFrame (jclass klass)
{
env = (JNIEnv *) _Jv_MallocUnchecked (sizeof (JNIEnv));
env->p = &_Jv_JNIFunctions;
- env->ex = NULL;
env->klass = klass;
env->locals = NULL;
+ // We set env->ex below.
_Jv_SetCurrentJNIEnv (env);
}
@@ -1999,11 +1999,13 @@ _Jv_GetJNIEnvNewFrame (jclass klass)
frame->marker = MARK_SYSTEM;
frame->size = FRAME_SIZE;
frame->next = env->locals;
- env->locals = frame;
for (int i = 0; i < frame->size; ++i)
frame->vec[i] = NULL;
+ env->locals = frame;
+ env->ex = NULL;
+
return env;
}