diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/530-checker-lse/src/Main.java | 25 | ||||
| -rw-r--r-- | test/572-checker-array-get-regression/expected.txt | 2 | ||||
| -rw-r--r-- | test/572-checker-array-get-regression/info.txt | 2 | ||||
| -rw-r--r-- | test/572-checker-array-get-regression/src/Main.java | 15 |
4 files changed, 19 insertions, 25 deletions
diff --git a/test/530-checker-lse/src/Main.java b/test/530-checker-lse/src/Main.java index d647683869..4d6ea06fe0 100644 --- a/test/530-checker-lse/src/Main.java +++ b/test/530-checker-lse/src/Main.java @@ -664,28 +664,19 @@ public class Main { System.out.println("testFinalizableByForcingGc() failed to force gc."); } - /// CHECK-START: int Main.testHSelect(boolean) load_store_elimination (before) + /// CHECK-START: int Main.$noinline$testHSelect(boolean) load_store_elimination (before) /// CHECK: InstanceFieldSet /// CHECK: Select - /// CHECK-START: int Main.testHSelect(boolean) load_store_elimination (after) + /// CHECK-START: int Main.$noinline$testHSelect(boolean) load_store_elimination (after) /// CHECK: InstanceFieldSet /// CHECK: Select // Test that HSelect creates alias. - public static int testHSelect(boolean b) { - // Disable inlining. - System.out.print(""); - System.out.print(""); - System.out.print(""); - System.out.print(""); - System.out.print(""); - System.out.print(""); - System.out.print(""); - System.out.print(""); - System.out.print(""); - System.out.print(""); - + public static int $noinline$testHSelect(boolean b) { + if (sFlag) { + throw new Error(); + } TestClass obj = new TestClass(); TestClass obj2 = null; obj.i = 0xdead; @@ -754,6 +745,8 @@ public class Main { assertIntEquals(test23(false), 5); assertFloatEquals(test24(), 8.0f); testFinalizableByForcingGc(); - assertIntEquals(testHSelect(true), 0xdead); + assertIntEquals($noinline$testHSelect(true), 0xdead); } + + static boolean sFlag; } diff --git a/test/572-checker-array-get-regression/expected.txt b/test/572-checker-array-get-regression/expected.txt index c08d7831c0..f7d1ad4743 100644 --- a/test/572-checker-array-get-regression/expected.txt +++ b/test/572-checker-array-get-regression/expected.txt @@ -1 +1 @@ -1048575 +524287 diff --git a/test/572-checker-array-get-regression/info.txt b/test/572-checker-array-get-regression/info.txt index 023d5b0c19..d06feee152 100644 --- a/test/572-checker-array-get-regression/info.txt +++ b/test/572-checker-array-get-regression/info.txt @@ -1,3 +1,3 @@ Regression test for the ARM64 Baker's read barrier fast path compiler -instrumentatin of array loads with a large constant index, where we +instrumentation of array loads with a large constant index, where we used to require too many scratch (temporary) registers. diff --git a/test/572-checker-array-get-regression/src/Main.java b/test/572-checker-array-get-regression/src/Main.java index 139221555a..a9bf326427 100644 --- a/test/572-checker-array-get-regression/src/Main.java +++ b/test/572-checker-array-get-regression/src/Main.java @@ -22,9 +22,9 @@ public class Main { /// CHECK-START: java.lang.Integer Main.test() ssa_builder (after) /// CHECK-DAG: <<Method:[ij]\d+>> CurrentMethod - /// CHECK-DAG: <<Const2P20:i\d+>> IntConstant 1048576 + /// CHECK-DAG: <<Const2P19:i\d+>> IntConstant 524288 /// CHECK-DAG: <<ConstM1:i\d+>> IntConstant -1 - /// CHECK-DAG: <<Array:l\d+>> NewArray [<<Const2P20>>,<<Method>>] + /// CHECK-DAG: <<Array:l\d+>> NewArray [<<Const2P19>>,<<Method>>] /// CHECK-DAG: <<NullCheck1:l\d+>> NullCheck [<<Array>>] /// CHECK-DAG: <<Length1:i\d+>> ArrayLength [<<NullCheck1>>] /// CHECK-DAG: <<Index:i\d+>> Add [<<Length1>>,<<ConstM1>>] @@ -34,16 +34,17 @@ public class Main { /// CHECK-DAG: <<LastElement:l\d+>> ArrayGet [<<NullCheck2>>,<<BoundsCheck>>] /// CHECK-DAG: Return [<<LastElement>>] + /// CHECK-START: java.lang.Integer Main.test() register (before) /// CHECK-DAG: <<Method:[ij]\d+>> CurrentMethod - /// CHECK-DAG: <<Const2P20:i\d+>> IntConstant 1048576 - /// CHECK-DAG: <<Const2P20M1:i\d+>> IntConstant 1048575 - /// CHECK-DAG: <<Array:l\d+>> NewArray [<<Const2P20>>,<<Method>>] - /// CHECK-DAG: <<LastElement:l\d+>> ArrayGet [<<Array>>,<<Const2P20M1>>] + /// CHECK-DAG: <<Const2P19:i\d+>> IntConstant 524288 + /// CHECK-DAG: <<Const2P19M1:i\d+>> IntConstant 524287 + /// CHECK-DAG: <<Array:l\d+>> NewArray [<<Const2P19>>,<<Method>>] + /// CHECK-DAG: <<LastElement:l\d+>> ArrayGet [<<Array>>,<<Const2P19M1>>] /// CHECK-DAG: Return [<<LastElement>>] public static Integer test() { - Integer[] integers = new Integer[1024 * 1024]; + Integer[] integers = new Integer[1 << 19]; initIntegerArray(integers); // Array load with a large constant index (after constant folding // and bounds check elimination). |