diff options
| author | Cliff Click <cliffc@acm.org> | 2024-07-30 07:16:02 -0700 |
|---|---|---|
| committer | Dibyendu Majumdar <dibyendumajumdar@users.noreply.github.com> | 2024-08-05 23:28:33 +0100 |
| commit | 2b35a316dbafd1aa27b2b49aeb868e1f357362a9 (patch) | |
| tree | 76f4c57330490367a9a5dcd3a89778e25c7eb98c /chapter12/src | |
| parent | 0269769b929a07f8057c632bd7d645185649359f (diff) | |
| download | Simple-2b35a316dbafd1aa27b2b49aeb868e1f357362a9.tar.gz Simple-2b35a316dbafd1aa27b2b49aeb868e1f357362a9.zip | |
Fuzzer nit picks
Diffstat (limited to 'chapter12/src')
3 files changed, 4 insertions, 8 deletions
diff --git a/chapter12/src/main/java/com/seaofnodes/simple/node/AddNode.java b/chapter12/src/main/java/com/seaofnodes/simple/node/AddNode.java index 114e62c9..48350957 100644 --- a/chapter12/src/main/java/com/seaofnodes/simple/node/AddNode.java +++ b/chapter12/src/main/java/com/seaofnodes/simple/node/AddNode.java @@ -106,6 +106,7 @@ public class AddNode extends Node { static Node phiCon(Node op, boolean rotate) { Node lhs = op.in(1); Node rhs = op.in(2); + if( rhs._type==TypeInteger.TOP ) return null; // LHS is either a Phi of constants, or another op with Phi of constants PhiNode lphi = pcon(lhs,op); if( rotate && lphi==null && lhs.nIns() > 2 ) { diff --git a/chapter12/src/main/java/com/seaofnodes/simple/node/MinusFNode.java b/chapter12/src/main/java/com/seaofnodes/simple/node/MinusFNode.java index 0853729d..9727f58b 100644 --- a/chapter12/src/main/java/com/seaofnodes/simple/node/MinusFNode.java +++ b/chapter12/src/main/java/com/seaofnodes/simple/node/MinusFNode.java @@ -22,7 +22,7 @@ public class MinusFNode extends Node { public Type compute() { if (in(1)._type instanceof TypeFloat i0) return i0.isConstant() ? TypeFloat.constant(-i0.value()) : i0; - return TypeFloat.TOP.meet(in(1)._type); + return TypeFloat.BOT; } @Override diff --git a/chapter12/src/test/java/com/seaofnodes/simple/Chapter12Test.java b/chapter12/src/test/java/com/seaofnodes/simple/Chapter12Test.java index 253a61f0..af8fdfe9 100644 --- a/chapter12/src/test/java/com/seaofnodes/simple/Chapter12Test.java +++ b/chapter12/src/test/java/com/seaofnodes/simple/Chapter12Test.java @@ -13,15 +13,10 @@ public class Chapter12Test { public void testJig() { Parser parser = new Parser( """ -flt x = 3.14; -while( arg ) { - x = 1; - arg = arg-1; -} -return x; +return 3.14; """); StopNode stop = parser.parse(false).iterate(false); - assertEquals("return Phi(Loop9,3.14,1.0);", stop.toString()); + assertEquals("return 3.14;", stop.toString()); assertEquals(3.14, Evaluator.evaluate(stop, 0)); } |
