summaryrefslogtreecommitdiff
path: root/chapter05
diff options
context:
space:
mode:
Diffstat (limited to 'chapter05')
-rw-r--r--chapter05/src/test/java/com/seaofnodes/simple/Chapter03Test.java11
-rw-r--r--chapter05/src/test/java/com/seaofnodes/simple/Chapter04Test.java20
-rw-r--r--chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java2
3 files changed, 20 insertions, 13 deletions
diff --git a/chapter05/src/test/java/com/seaofnodes/simple/Chapter03Test.java b/chapter05/src/test/java/com/seaofnodes/simple/Chapter03Test.java
index 609dff76..10b67f5f 100644
--- a/chapter05/src/test/java/com/seaofnodes/simple/Chapter03Test.java
+++ b/chapter05/src/test/java/com/seaofnodes/simple/Chapter03Test.java
@@ -30,8 +30,17 @@ public class Chapter03Test {
}
@Test
+ public void testVarScopeNoPeephole() {
+ Parser parser = new Parser("int a=1; int b=2; int c=0; { int b=3; c=a+b; } return c;");
+ Node._disablePeephole = true;
+ StopNode ret = parser.parse();
+ Node._disablePeephole = false;
+ assertEquals("return (1+3);", ret.print());
+ }
+
+ @Test
public void testVarDist() {
- Parser parser = new Parser("int x0=1; int y0=2; int x1=3; int y1=4; return (x0-x1)*(x0-x1) + (y0-y1)*(y0-y1); ");
+ Parser parser = new Parser("int x0=1; int y0=2; int x1=3; int y1=4; return (x0-x1)*(x0-x1) + (y0-y1)*(y0-y1);");
StopNode ret = parser.parse();
assertEquals("return 8;", ret.print());
}
diff --git a/chapter05/src/test/java/com/seaofnodes/simple/Chapter04Test.java b/chapter05/src/test/java/com/seaofnodes/simple/Chapter04Test.java
index f1603cc4..e5840622 100644
--- a/chapter05/src/test/java/com/seaofnodes/simple/Chapter04Test.java
+++ b/chapter05/src/test/java/com/seaofnodes/simple/Chapter04Test.java
@@ -10,7 +10,7 @@ public class Chapter04Test {
@Test
public void testPeephole() {
- Parser parser = new Parser("return 1+arg+2; ");
+ Parser parser = new Parser("return 1+arg+2;");
StopNode ret = parser.parse();
assertEquals("return (arg+3);", ret.print());
}
@@ -38,7 +38,7 @@ public class Chapter04Test {
@Test
public void testPeephole3() {
- Parser parser = new Parser("return 1+arg+2+arg+3; ");
+ Parser parser = new Parser("return 1+arg+2+arg+3;");
StopNode ret = parser.parse();
assertEquals("return ((arg*2)+6);", ret.print());
}
@@ -80,7 +80,7 @@ public class Chapter04Test {
@Test
public void testVarArg() {
- Parser parser = new Parser("return arg; ");
+ Parser parser = new Parser("return arg;");
StopNode stop = parser.parse();
ReturnNode ret = stop.ret();
assertTrue(ret.in(0) instanceof ProjNode);
@@ -89,49 +89,49 @@ public class Chapter04Test {
@Test
public void testConstantArg() {
- Parser parser = new Parser("return arg; ", TypeInteger.constant(2));
+ Parser parser = new Parser("return arg;", TypeInteger.constant(2));
StopNode ret = parser.parse();
assertEquals("return 2;", ret.print());
}
@Test
public void testCompEq() {
- Parser parser = new Parser("return 3==3; ");
+ Parser parser = new Parser("return 3==3;");
StopNode ret = parser.parse();
assertEquals("return 1;", ret.print());
}
@Test
public void testCompEq2() {
- Parser parser = new Parser("return 3==4; ");
+ Parser parser = new Parser("return 3==4;");
StopNode ret = parser.parse();
assertEquals("return 0;", ret.print());
}
@Test
public void testCompNEq() {
- Parser parser = new Parser("return 3!=3; ");
+ Parser parser = new Parser("return 3!=3;");
StopNode ret = parser.parse();
assertEquals("return 0;", ret.print());
}
@Test
public void testCompNEq2() {
- Parser parser = new Parser("return 3!=4; ");
+ Parser parser = new Parser("return 3!=4;");
StopNode ret = parser.parse();
assertEquals("return 1;", ret.print());
}
@Test
public void testBug1() {
- Parser parser = new Parser("int a=arg+1; int b=a; b=1; return a+2; ");
+ Parser parser = new Parser("int a=arg+1; int b=a; b=1; return a+2;");
StopNode ret = parser.parse();
assertEquals("return (arg+3);", ret.print());
}
@Test
public void testBug2() {
- Parser parser = new Parser("int a=arg+1; a=a; return a; ");
+ Parser parser = new Parser("int a=arg+1; a=a; return a;");
StopNode ret = parser.parse();
assertEquals("return (arg+1);", ret.print());
}
diff --git a/chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java b/chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java
index 512d0d50..31ca56a0 100644
--- a/chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java
+++ b/chapter05/src/test/java/com/seaofnodes/simple/Chapter05Test.java
@@ -17,9 +17,7 @@ if (arg == 1)
a = arg+2;
else {
a = arg-3;
-
}
-
return a;""");
StopNode ret = parser.parse();
assertEquals("return Phi(Region17,(arg+2),(arg-3));", ret.toString());