summaryrefslogtreecommitdiff
path: root/chapter04
diff options
context:
space:
mode:
Diffstat (limited to 'chapter04')
-rw-r--r--chapter04/README.md3
-rw-r--r--chapter04/src/main/java/com/seaofnodes/simple/node/Node.java11
-rw-r--r--chapter04/src/test/java/com/seaofnodes/simple/Chapter02Test.java4
-rw-r--r--chapter04/src/test/java/com/seaofnodes/simple/Chapter03Test.java9
4 files changed, 2 insertions, 25 deletions
diff --git a/chapter04/README.md b/chapter04/README.md
index 07085e80..fd77392c 100644
--- a/chapter04/README.md
+++ b/chapter04/README.md
@@ -136,9 +136,6 @@ public final Node peephole( ) {
Type type = _type = compute();
/* type = {TypeInteger@1527} "2" */
- if (_disablePeephole)
- return this;
-
// ProjNode is not a constant unlike its type.
if (!(this instanceof ConstantNode) && type.isConstant())
/* Create Constant(2) */
diff --git a/chapter04/src/main/java/com/seaofnodes/simple/node/Node.java b/chapter04/src/main/java/com/seaofnodes/simple/node/Node.java
index eb7d8333..2a4aad2f 100644
--- a/chapter04/src/main/java/com/seaofnodes/simple/node/Node.java
+++ b/chapter04/src/main/java/com/seaofnodes/simple/node/Node.java
@@ -210,12 +210,6 @@ public abstract class Node {
// Graph-based optimizations
/**
- * We allow disabling peephole opt so that we can observe the
- * full graph, vs the optimized graph.
- */
- public static boolean _disablePeephole = false;
-
- /**
* Try to peephole at this node and return a better replacement Node if
* possible. We compute a {@link Type} and then check and replace:
* <ul>
@@ -244,9 +238,6 @@ public abstract class Node {
// Compute initial or improved Type
Type type = _type = compute();
- if (_disablePeephole)
- return null; // Peephole optimizations turned off
-
// Replace constant computations from non-constants with a constant node
if (!(this instanceof ConstantNode) && type.isConstant())
return deadCodeElim(new ConstantNode(type).peephole());
@@ -360,7 +351,7 @@ public abstract class Node {
* Used to allow repeating tests in the same JVM. This just resets the
* Node unique id generator, and is done as part of making a new Parser.
*/
- public static void reset() { UNIQUE_ID = 1; _disablePeephole=false; }
+ public static void reset() { UNIQUE_ID = 1; }
/**
* Debugging utility to find a Node by index
diff --git a/chapter04/src/test/java/com/seaofnodes/simple/Chapter02Test.java b/chapter04/src/test/java/com/seaofnodes/simple/Chapter02Test.java
index 9de09d21..6c816a23 100644
--- a/chapter04/src/test/java/com/seaofnodes/simple/Chapter02Test.java
+++ b/chapter04/src/test/java/com/seaofnodes/simple/Chapter02Test.java
@@ -11,10 +11,8 @@ public class Chapter02Test {
@Test
public void testParseGrammar() {
Parser parser = new Parser("return 1+2*3+-5;");
- Node._disablePeephole = true; // disable peephole so we can observe full graph
ReturnNode ret = parser.parse();
- assertEquals("return (1+((2*3)+(-5)));", ret.print());
- Node._disablePeephole = false;
+ assertEquals("return 2;", ret.print());
}
@Test
diff --git a/chapter04/src/test/java/com/seaofnodes/simple/Chapter03Test.java b/chapter04/src/test/java/com/seaofnodes/simple/Chapter03Test.java
index 6a5d7072..8796a1e9 100644
--- a/chapter04/src/test/java/com/seaofnodes/simple/Chapter03Test.java
+++ b/chapter04/src/test/java/com/seaofnodes/simple/Chapter03Test.java
@@ -30,15 +30,6 @@ 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;
- ReturnNode 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); ");
ReturnNode ret = parser.parse();