Create JNIEnv*s on the right threads.

This exposes a bug in jni_compiler.cc --- it passes the right JNIEnv* to the
native method and to MonitorExit, but it passes a bogus value to MonitorEnter.

Change-Id: Icbf505d24294d14ce3e40180a20254789cb69904
diff --git a/src/jni_compiler_test.cc b/src/jni_compiler_test.cc
index 7677a7a..cfedb85 100644
--- a/src/jni_compiler_test.cc
+++ b/src/jni_compiler_test.cc
@@ -171,8 +171,9 @@
 }
 
 int gJava_MyClass_fooSIOO_calls = 0;
-jobject Java_MyClass_fooSIOO(JNIEnv*, jclass klass, jint x, jobject y,
+jobject Java_MyClass_fooSIOO(JNIEnv* env, jclass klass, jint x, jobject y,
                              jobject z) {
+  EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
   EXPECT_EQ(3u, Thread::Current()->NumShbHandles());
   EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
   gJava_MyClass_fooSIOO_calls++;