Implement LLVM version of jni_compiler to pass 17 jni_compiler tests.
Because we now have both shadow_frame and sirt (which is just for SirtRef<>
in the LLVM version), we define a new function NumStackReferences() as follows:
NumStackReferences() = NumSirtReferences() + NumShadowFrameReferences().
(cherry picked from commit 18fe89a14d212da9ec6841f4d19d08482a9610b7)
Change-Id: Idd95ee4276801b1555be87934cd9c4f33ab8a88a
diff --git a/src/jni_compiler_test.cc b/src/jni_compiler_test.cc
index 38266c9..7a78814 100644
--- a/src/jni_compiler_test.cc
+++ b/src/jni_compiler_test.cc
@@ -106,7 +106,7 @@
int gJava_MyClass_foo_calls = 0;
void Java_MyClass_foo(JNIEnv* env, jobject thisObj) {
// 2 = SirtRef<ClassLoader> + thisObj
- EXPECT_EQ(2U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(2U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
@@ -155,7 +155,7 @@
int gJava_MyClass_fooI_calls = 0;
jint Java_MyClass_fooI(JNIEnv* env, jobject thisObj, jint x) {
// 2 = SirtRef<ClassLoader> + thisObj
- EXPECT_EQ(2U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(2U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
@@ -181,7 +181,7 @@
int gJava_MyClass_fooII_calls = 0;
jint Java_MyClass_fooII(JNIEnv* env, jobject thisObj, jint x, jint y) {
// 2 = SirtRef<ClassLoader> + thisObj
- EXPECT_EQ(2U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(2U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
@@ -208,7 +208,7 @@
int gJava_MyClass_fooJJ_calls = 0;
jlong Java_MyClass_fooJJ(JNIEnv* env, jobject thisObj, jlong x, jlong y) {
// 2 = SirtRef<ClassLoader> + thisObj
- EXPECT_EQ(2U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(2U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
@@ -236,7 +236,7 @@
int gJava_MyClass_fooDD_calls = 0;
jdouble Java_MyClass_fooDD(JNIEnv* env, jobject thisObj, jdouble x, jdouble y) {
// 2 = SirtRef<ClassLoader> + thisObj
- EXPECT_EQ(2U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(2U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
@@ -266,7 +266,7 @@
jobject Java_MyClass_fooIOO(JNIEnv* env, jobject thisObj, jint x, jobject y,
jobject z) {
// 4 = SirtRef<ClassLoader> + this + y + z
- EXPECT_EQ(4U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(4U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(thisObj != NULL);
@@ -317,7 +317,7 @@
int gJava_MyClass_fooSII_calls = 0;
jint Java_MyClass_fooSII(JNIEnv* env, jclass klass, jint x, jint y) {
// 2 = SirtRef<ClassLoader> + klass
- EXPECT_EQ(2U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(2U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(klass != NULL);
@@ -340,7 +340,7 @@
int gJava_MyClass_fooSDD_calls = 0;
jdouble Java_MyClass_fooSDD(JNIEnv* env, jclass klass, jdouble x, jdouble y) {
// 2 = SirtRef<ClassLoader> + klass
- EXPECT_EQ(2U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(2U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(klass != NULL);
@@ -369,7 +369,7 @@
jobject Java_MyClass_fooSIOO(JNIEnv* env, jclass klass, jint x, jobject y,
jobject z) {
// 4 = SirtRef<ClassLoader> + klass + y + z
- EXPECT_EQ(4U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(4U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(klass != NULL);
@@ -422,7 +422,7 @@
jobject Java_MyClass_fooSSIOO(JNIEnv* env, jclass klass, jint x, jobject y,
jobject z) {
// 4 = SirtRef<ClassLoader> + klass + y + z
- EXPECT_EQ(4U, Thread::Current()->NumSirtReferences());
+ EXPECT_EQ(4U, Thread::Current()->NumStackReferences());
EXPECT_EQ(Thread::kNative, Thread::Current()->GetState());
EXPECT_EQ(Thread::Current()->GetJniEnv(), env);
EXPECT_TRUE(klass != NULL);