diff options
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/jni/jni_compiler_test.cc | 127 |
1 files changed, 60 insertions, 67 deletions
diff --git a/compiler/jni/jni_compiler_test.cc b/compiler/jni/jni_compiler_test.cc index 8f4eddbea3..25b489ba79 100644 --- a/compiler/jni/jni_compiler_test.cc +++ b/compiler/jni/jni_compiler_test.cc @@ -1284,13 +1284,6 @@ TEST_F(JniCompilerTest, WithoutImplementation) { EXPECT_TRUE(env_->ExceptionCheck() == JNI_TRUE); } -template <typename U, typename V> V convert(U in) { - DCHECK_LE(sizeof(U), sizeof(V)); - union { U u; V v; } tmp; - tmp.u = in; - return tmp.v; -} - void Java_MyClassNatives_stackArgsIntsFirst(JNIEnv* env, jclass klass, jint i1, jint i2, jint i3, jint i4, jint i5, jint i6, jint i7, jint i8, jint i9, jint i10, jfloat f1, jfloat f2, jfloat f3, jfloat f4, @@ -1307,25 +1300,25 @@ void Java_MyClassNatives_stackArgsIntsFirst(JNIEnv* env, jclass klass, jint i1, EXPECT_EQ(i9, 9); EXPECT_EQ(i10, 10); - jint i11 = convert<jfloat, jint>(f1); + jint i11 = bit_cast<jfloat, jint>(f1); EXPECT_EQ(i11, 11); - jint i12 = convert<jfloat, jint>(f2); + jint i12 = bit_cast<jfloat, jint>(f2); EXPECT_EQ(i12, 12); - jint i13 = convert<jfloat, jint>(f3); + jint i13 = bit_cast<jfloat, jint>(f3); EXPECT_EQ(i13, 13); - jint i14 = convert<jfloat, jint>(f4); + jint i14 = bit_cast<jfloat, jint>(f4); EXPECT_EQ(i14, 14); - jint i15 = convert<jfloat, jint>(f5); + jint i15 = bit_cast<jfloat, jint>(f5); EXPECT_EQ(i15, 15); - jint i16 = convert<jfloat, jint>(f6); + jint i16 = bit_cast<jfloat, jint>(f6); EXPECT_EQ(i16, 16); - jint i17 = convert<jfloat, jint>(f7); + jint i17 = bit_cast<jfloat, jint>(f7); EXPECT_EQ(i17, 17); - jint i18 = convert<jfloat, jint>(f8); + jint i18 = bit_cast<jfloat, jint>(f8); EXPECT_EQ(i18, 18); - jint i19 = convert<jfloat, jint>(f9); + jint i19 = bit_cast<jfloat, jint>(f9); EXPECT_EQ(i19, 19); - jint i20 = convert<jfloat, jint>(f10); + jint i20 = bit_cast<jfloat, jint>(f10); EXPECT_EQ(i20, 20); } @@ -1345,16 +1338,16 @@ TEST_F(JniCompilerTest, StackArgsIntsFirst) { jint i9 = 9; jint i10 = 10; - jfloat f1 = convert<jint, jfloat>(11); - jfloat f2 = convert<jint, jfloat>(12); - jfloat f3 = convert<jint, jfloat>(13); - jfloat f4 = convert<jint, jfloat>(14); - jfloat f5 = convert<jint, jfloat>(15); - jfloat f6 = convert<jint, jfloat>(16); - jfloat f7 = convert<jint, jfloat>(17); - jfloat f8 = convert<jint, jfloat>(18); - jfloat f9 = convert<jint, jfloat>(19); - jfloat f10 = convert<jint, jfloat>(20); + jfloat f1 = bit_cast<jint, jfloat>(11); + jfloat f2 = bit_cast<jint, jfloat>(12); + jfloat f3 = bit_cast<jint, jfloat>(13); + jfloat f4 = bit_cast<jint, jfloat>(14); + jfloat f5 = bit_cast<jint, jfloat>(15); + jfloat f6 = bit_cast<jint, jfloat>(16); + jfloat f7 = bit_cast<jint, jfloat>(17); + jfloat f8 = bit_cast<jint, jfloat>(18); + jfloat f9 = bit_cast<jint, jfloat>(19); + jfloat f10 = bit_cast<jint, jfloat>(20); env_->CallStaticVoidMethod(jklass_, jmethod_, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10); @@ -1376,25 +1369,25 @@ void Java_MyClassNatives_stackArgsFloatsFirst(JNIEnv* env, jclass klass, jfloat EXPECT_EQ(i9, 9); EXPECT_EQ(i10, 10); - jint i11 = convert<jfloat, jint>(f1); + jint i11 = bit_cast<jfloat, jint>(f1); EXPECT_EQ(i11, 11); - jint i12 = convert<jfloat, jint>(f2); + jint i12 = bit_cast<jfloat, jint>(f2); EXPECT_EQ(i12, 12); - jint i13 = convert<jfloat, jint>(f3); + jint i13 = bit_cast<jfloat, jint>(f3); EXPECT_EQ(i13, 13); - jint i14 = convert<jfloat, jint>(f4); + jint i14 = bit_cast<jfloat, jint>(f4); EXPECT_EQ(i14, 14); - jint i15 = convert<jfloat, jint>(f5); + jint i15 = bit_cast<jfloat, jint>(f5); EXPECT_EQ(i15, 15); - jint i16 = convert<jfloat, jint>(f6); + jint i16 = bit_cast<jfloat, jint>(f6); EXPECT_EQ(i16, 16); - jint i17 = convert<jfloat, jint>(f7); + jint i17 = bit_cast<jfloat, jint>(f7); EXPECT_EQ(i17, 17); - jint i18 = convert<jfloat, jint>(f8); + jint i18 = bit_cast<jfloat, jint>(f8); EXPECT_EQ(i18, 18); - jint i19 = convert<jfloat, jint>(f9); + jint i19 = bit_cast<jfloat, jint>(f9); EXPECT_EQ(i19, 19); - jint i20 = convert<jfloat, jint>(f10); + jint i20 = bit_cast<jfloat, jint>(f10); EXPECT_EQ(i20, 20); } @@ -1414,16 +1407,16 @@ TEST_F(JniCompilerTest, StackArgsFloatsFirst) { jint i9 = 9; jint i10 = 10; - jfloat f1 = convert<jint, jfloat>(11); - jfloat f2 = convert<jint, jfloat>(12); - jfloat f3 = convert<jint, jfloat>(13); - jfloat f4 = convert<jint, jfloat>(14); - jfloat f5 = convert<jint, jfloat>(15); - jfloat f6 = convert<jint, jfloat>(16); - jfloat f7 = convert<jint, jfloat>(17); - jfloat f8 = convert<jint, jfloat>(18); - jfloat f9 = convert<jint, jfloat>(19); - jfloat f10 = convert<jint, jfloat>(20); + jfloat f1 = bit_cast<jint, jfloat>(11); + jfloat f2 = bit_cast<jint, jfloat>(12); + jfloat f3 = bit_cast<jint, jfloat>(13); + jfloat f4 = bit_cast<jint, jfloat>(14); + jfloat f5 = bit_cast<jint, jfloat>(15); + jfloat f6 = bit_cast<jint, jfloat>(16); + jfloat f7 = bit_cast<jint, jfloat>(17); + jfloat f8 = bit_cast<jint, jfloat>(18); + jfloat f9 = bit_cast<jint, jfloat>(19); + jfloat f10 = bit_cast<jint, jfloat>(20); env_->CallStaticVoidMethod(jklass_, jmethod_, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10); @@ -1444,25 +1437,25 @@ void Java_MyClassNatives_stackArgsMixed(JNIEnv* env, jclass klass, jint i1, jflo EXPECT_EQ(i9, 9); EXPECT_EQ(i10, 10); - jint i11 = convert<jfloat, jint>(f1); + jint i11 = bit_cast<jfloat, jint>(f1); EXPECT_EQ(i11, 11); - jint i12 = convert<jfloat, jint>(f2); + jint i12 = bit_cast<jfloat, jint>(f2); EXPECT_EQ(i12, 12); - jint i13 = convert<jfloat, jint>(f3); + jint i13 = bit_cast<jfloat, jint>(f3); EXPECT_EQ(i13, 13); - jint i14 = convert<jfloat, jint>(f4); + jint i14 = bit_cast<jfloat, jint>(f4); EXPECT_EQ(i14, 14); - jint i15 = convert<jfloat, jint>(f5); + jint i15 = bit_cast<jfloat, jint>(f5); EXPECT_EQ(i15, 15); - jint i16 = convert<jfloat, jint>(f6); + jint i16 = bit_cast<jfloat, jint>(f6); EXPECT_EQ(i16, 16); - jint i17 = convert<jfloat, jint>(f7); + jint i17 = bit_cast<jfloat, jint>(f7); EXPECT_EQ(i17, 17); - jint i18 = convert<jfloat, jint>(f8); + jint i18 = bit_cast<jfloat, jint>(f8); EXPECT_EQ(i18, 18); - jint i19 = convert<jfloat, jint>(f9); + jint i19 = bit_cast<jfloat, jint>(f9); EXPECT_EQ(i19, 19); - jint i20 = convert<jfloat, jint>(f10); + jint i20 = bit_cast<jfloat, jint>(f10); EXPECT_EQ(i20, 20); } @@ -1482,16 +1475,16 @@ TEST_F(JniCompilerTest, StackArgsMixed) { jint i9 = 9; jint i10 = 10; - jfloat f1 = convert<jint, jfloat>(11); - jfloat f2 = convert<jint, jfloat>(12); - jfloat f3 = convert<jint, jfloat>(13); - jfloat f4 = convert<jint, jfloat>(14); - jfloat f5 = convert<jint, jfloat>(15); - jfloat f6 = convert<jint, jfloat>(16); - jfloat f7 = convert<jint, jfloat>(17); - jfloat f8 = convert<jint, jfloat>(18); - jfloat f9 = convert<jint, jfloat>(19); - jfloat f10 = convert<jint, jfloat>(20); + jfloat f1 = bit_cast<jint, jfloat>(11); + jfloat f2 = bit_cast<jint, jfloat>(12); + jfloat f3 = bit_cast<jint, jfloat>(13); + jfloat f4 = bit_cast<jint, jfloat>(14); + jfloat f5 = bit_cast<jint, jfloat>(15); + jfloat f6 = bit_cast<jint, jfloat>(16); + jfloat f7 = bit_cast<jint, jfloat>(17); + jfloat f8 = bit_cast<jint, jfloat>(18); + jfloat f9 = bit_cast<jint, jfloat>(19); + jfloat f10 = bit_cast<jint, jfloat>(20); env_->CallStaticVoidMethod(jklass_, jmethod_, i1, f1, i2, f2, i3, f3, i4, f4, i5, f5, i6, f6, i7, f7, i8, f8, i9, f9, i10, f10); |