summaryrefslogtreecommitdiff
path: root/src/test/java/com/seaofnodes/simple/Chapter09Test.java
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-09-29 12:34:58 -0700
committerCliff Click <cliffc@acm.org>2026-09-29 12:34:58 -0700
commit502e7e752f3efdb069a36b23ab51ac22f9d74e9e (patch)
treed2b3c84357be365b5a6cc674285d1d2778c0072c /src/test/java/com/seaofnodes/simple/Chapter09Test.java
parentfdfc4e4b824e97952110069558de70cd16c725a1 (diff)
downloadSimple-linear-chapter10a.tar.gz
Simple-linear-chapter10a.zip
Chapter 10a: Structs and Memorylinear-chapter10a
Diffstat (limited to 'src/test/java/com/seaofnodes/simple/Chapter09Test.java')
-rw-r--r--src/test/java/com/seaofnodes/simple/Chapter09Test.java41
1 files changed, 11 insertions, 30 deletions
diff --git a/src/test/java/com/seaofnodes/simple/Chapter09Test.java b/src/test/java/com/seaofnodes/simple/Chapter09Test.java
index 8103b903..1b1920e8 100644
--- a/src/test/java/com/seaofnodes/simple/Chapter09Test.java
+++ b/src/test/java/com/seaofnodes/simple/Chapter09Test.java
@@ -1,5 +1,6 @@
package com.seaofnodes.simple;
+import com.seaofnodes.simple.evaluator.Evaluator;
import com.seaofnodes.simple.node.*;
import com.seaofnodes.simple.type.Type;
import com.seaofnodes.simple.type.TypeInteger;
@@ -43,8 +44,8 @@ return x;
""");
StopNode stop = parser.parse();
assertEquals("Stop[ return (arg*2); return (Mul+1); ]", stop.toString());
- Assert.assertEquals(2, GraphEvaluator.evaluate(stop, 1));
- Assert.assertEquals(23, GraphEvaluator.evaluate(stop, 11));
+ Assert.assertEquals(2L, Evaluator.evaluate(stop, 1));
+ Assert.assertEquals(23L, Evaluator.evaluate(stop, 11));
}
@Test
@@ -55,7 +56,7 @@ return arg*arg-arg*arg;
""");
StopNode stop = parser.parse();
assertEquals("return 0;", stop.toString());
- Assert.assertEquals(0, GraphEvaluator.evaluate(stop, 1));
+ Assert.assertEquals(0L, Evaluator.evaluate(stop, 1));
}
@Test
@@ -69,8 +70,8 @@ while (arg < 10) {
return arg;
""");
StopNode stop = parser.parse().iterate();
- assertEquals("return Phi(Loop7,arg,(Phi_arg+2));", stop.toString());
- Assert.assertEquals(11, GraphEvaluator.evaluate(stop, 1));
+ assertEquals("return Phi(Loop8,arg,(Phi_arg+2));", stop.toString());
+ Assert.assertEquals(11L, Evaluator.evaluate(stop, 1));
}
@Test
@@ -86,8 +87,8 @@ while (arg < 10) {
return arg;
""");
StopNode stop = parser.parse().iterate();
- assertEquals("return Phi(Loop8,arg,(Phi_arg+4));", stop.toString());
- Assert.assertEquals(13, GraphEvaluator.evaluate(stop, 1));
+ assertEquals("return Phi(Loop9,arg,(Phi_arg+4));", stop.toString());
+ Assert.assertEquals(13L, Evaluator.evaluate(stop, 1));
}
@Test
@@ -115,7 +116,7 @@ while (arg) {
return arg;
""");
StopNode stop = parser.parse().iterate();
- assertEquals("return Phi(Loop14,arg,(Phi_arg+1));", stop.toString());
+ assertEquals("return Phi(Loop15,arg,(Phi_arg+1));", stop.toString());
}
@Test
@@ -137,26 +138,6 @@ while(v1+arg) {
}
@Test
- public void testSccp() {
- Parser parser = new Parser(
-"""
-int x = 1;
-int cnt = 5;
-while (cnt) {
- cnt = cnt - 1;
- if (x == 0) {
- x = x + 1;
- }
-}
-return x;
-"""
- );
- StopNode stop = parser.parse().iterate();
- assertEquals("return Phi(Loop8,1,Phi(Region26,(Phi_x+1),Phi_x));", stop.toString());
-
- }
-
- @Test
public void testWhile0() {
Parser parser = new Parser("while(0) continue; if(0) arg=0;");
StopNode stop = parser.parse().iterate();
@@ -205,7 +186,7 @@ while(arg) {
return a;
""");
StopNode stop = parser.parse().iterate();
- assertEquals("return Phi(Loop9,0,(-(Phi_a+3)));", stop.toString());
+ assertEquals("return Phi(Loop10,0,(-(Phi_a+3)));", stop.toString());
}
@Test
@@ -302,7 +283,7 @@ return v1+v0;
public void testFuzz8() {
Parser parser = new Parser("while(arg) arg = arg - 1; return arg;");
StopNode stop = parser.parse().iterate();
- assertEquals("return Phi(Loop6,arg,(Phi_arg-1));", stop.toString());
+ assertEquals("return Phi(Loop7,arg,(Phi_arg-1));", stop.toString());
}
@Test