< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CompareCanonicalizerTest3.java

Print this page
rev 52509 : [mq]: graal

@@ -90,20 +90,22 @@
     @Test
     public void test1() {
         assertCanonicallyEqual("integerTestCanonicalization1", "referenceSnippet1");
     }
 
-    public static void integerTestCanonicalization1(char a) {
-        if (Integer.compareUnsigned(a - 2, a) < 0) {
+    public static void integerTestCanonicalization1(char[] a) {
+        int len = a.length;
+        if (Integer.compareUnsigned(len - 2, len) < 0) {
             sink1 = 0;
         } else {
             sink0 = -1;
         }
     }
 
-    public static void referenceSnippet1(char a) {
-        if (Integer.compareUnsigned(a, 2) >= 0) {
+    public static void referenceSnippet1(char[] a) {
+        int len = a.length;
+        if (Integer.compareUnsigned(len, 2) >= 0) {
             sink1 = 0;
         } else {
             sink0 = -1;
         }
     }

@@ -236,16 +238,22 @@
 
     protected void assertCanonicallyEqual(String snippet, String reference) {
         StructuredGraph graph = parseEager(snippet, AllowAssumptions.YES);
         PhaseContext context = new PhaseContext(getProviders());
         CanonicalizerPhase canonicalizer = new CanonicalizerPhase();
+
         canonicalizer.apply(graph, context);
         new GuardLoweringPhase().apply(graph, new MidTierContext(getProviders(), getTargetProvider(), OptimisticOptimizations.ALL, graph.getProfilingInfo()));
         new FrameStateAssignmentPhase().apply(graph);
         canonicalizer.apply(graph, context);
+
         StructuredGraph referenceGraph = parseEager(reference, AllowAssumptions.YES);
         canonicalizer.apply(referenceGraph, context);
+        new GuardLoweringPhase().apply(referenceGraph, new MidTierContext(getProviders(), getTargetProvider(), OptimisticOptimizations.ALL, graph.getProfilingInfo()));
+        new FrameStateAssignmentPhase().apply(referenceGraph);
+        canonicalizer.apply(referenceGraph, context);
+
         canonicalizer.apply(referenceGraph, context);
         assertEquals(referenceGraph, graph, true, true);
     }
 
     @Override
< prev index next >