Support for local references allocated in SHBs.
Local references passed in the stack handle block by the managed to
native bridge code generated jni_compiler need support for decoding. Add
support and extend jni_compiler_test to check the validity of jobject
arguments in the stack handle block.
Change-Id: Ibba60451c21f6e41023b8d837310f15ea69c44f8
diff --git a/src/jni_compiler_test.cc b/src/jni_compiler_test.cc
index 39ba6ed..8a5155f 100644
--- a/src/jni_compiler_test.cc
+++ b/src/jni_compiler_test.cc
@@ -85,8 +85,7 @@
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
- // TODO: check JNIEnv and thisObj are sane
- // EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
+ EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
gJava_MyClass_foo_calls++;
}
@@ -106,8 +105,7 @@
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
- // TODO: check JNIEnv and thisObj are sane
- // EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
+ EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
gJava_MyClass_fooI_calls++;
return x;
}
@@ -131,8 +129,7 @@
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
- // TODO: check JNIEnv and thisObj are sane
- // EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
+ EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
gJava_MyClass_fooII_calls++;
return x - y; // non-commutative operator
}
@@ -157,8 +154,7 @@
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
- // TODO: check JNIEnv and thisObj are sane
- // EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
+ EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
gJava_MyClass_fooDD_calls++;
return x - y; // non-commutative operator
}
@@ -186,8 +182,7 @@
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
- // TODO: check JNIEnv and thisObj are sane
- // EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
+ EXPECT_TRUE(env->IsInstanceOf(thisObj, JniCompilerTest::jklass_));
gJava_MyClass_fooIOO_calls++;
switch (x) {
case 1:
@@ -237,8 +232,7 @@
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(klass != NULL);
- // TODO: check JNIEnv and klass are sane
- // EXPECT_TRUE(env->IsInstanceOf(JniCompilerTest::jobj_, klass));
+ EXPECT_TRUE(env->IsInstanceOf(JniCompilerTest::jobj_, klass));
gJava_MyClass_fooSIOO_calls++;
switch (x) {
case 1:
@@ -289,8 +283,7 @@
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(klass != NULL);
- // TODO: check JNIEnv and klass are sane
- // EXPECT_TRUE(env->IsInstanceOf(JniCompilerTest::jobj_, klass));
+ EXPECT_TRUE(env->IsInstanceOf(JniCompilerTest::jobj_, klass));
gJava_MyClass_fooSSIOO_calls++;
switch (x) {
case 1: