Fix checker tests after inlining change.
This fixes target tests broken by
https://android-review.googlesource.com/1843319 .
In one case we use the `$noinline$` tag to prevent inlining.
In the other one, we specify the field name to avoid newly
inlined instructions from matching CHECK-NOT assertions.
Test: testrunner.py --target --64 --optimizing \
-t 450-checker-types -t 530-checker-lse
Bug: 154012332
Change-Id: Ie82f425bfcaebba1c53877c223aeefcba213921e
diff --git a/test/450-checker-types/src/Main.java b/test/450-checker-types/src/Main.java
index 084a713..a90d24a 100644
--- a/test/450-checker-types/src/Main.java
+++ b/test/450-checker-types/src/Main.java
@@ -33,7 +33,10 @@
public int $inline$h(boolean cond) {
Super obj = (cond ? this : null);
- return obj.hashCode();
+ return obj.$noinline$hashCode();
+ }
+ public int $noinline$hashCode() {
+ return hashCode();
}
}
@@ -686,7 +689,7 @@
/// CHECK-DAG: <<Null:l\d+>> NullConstant
/// CHECK-DAG: <<Phi:l\d+>> Phi [<<Arg>>,<<Null>>] klass:SubclassA
/// CHECK-DAG: <<NCPhi:l\d+>> NullCheck [<<Phi>>]
- /// CHECK-DAG: InvokeStaticOrDirect [<<NCPhi>>] method_name:java.lang.Object.hashCode
+ /// CHECK-DAG: InvokeVirtual [<<NCPhi>>] method_name:Super.$noinline$hashCode
public void testThisArgumentMoreSpecific(boolean cond) {
// Inlining method from Super will build it with `this` typed as Super.
diff --git a/test/530-checker-lse/src/Main.java b/test/530-checker-lse/src/Main.java
index a707a8a..06cf79f 100644
--- a/test/530-checker-lse/src/Main.java
+++ b/test/530-checker-lse/src/Main.java
@@ -1828,10 +1828,10 @@
/// CHECK-START: int Main.testExitMerge(boolean) load_store_elimination (before)
/// CHECK-DAG: NewInstance
- /// CHECK-DAG: InstanceFieldSet
- /// CHECK-DAG: InstanceFieldGet
+ /// CHECK-DAG: InstanceFieldSet field_name:TestClass.i
+ /// CHECK-DAG: InstanceFieldGet field_name:TestClass.i
/// CHECK-DAG: Return
- /// CHECK-DAG: InstanceFieldSet
+ /// CHECK-DAG: InstanceFieldSet field_name:TestClass.i
/// CHECK-DAG: Throw
/// CHECK-START: int Main.testExitMerge(boolean) load_store_elimination (after)
@@ -1839,8 +1839,8 @@
/// CHECK-DAG: Throw
/// CHECK-START: int Main.testExitMerge(boolean) load_store_elimination (after)
- /// CHECK-NOT: InstanceFieldSet
- /// CHECK-NOT: InstanceFieldGet
+ /// CHECK-NOT: InstanceFieldSet field_name:TestClass.i
+ /// CHECK-NOT: InstanceFieldGet field_name:TestClass.i
/// CHECK-START: int Main.testExitMerge(boolean) load_store_elimination (after)
/// CHECK: NewInstance