summaryrefslogtreecommitdiff
path: root/chapter25/src
diff options
context:
space:
mode:
Diffstat (limited to 'chapter25/src')
-rw-r--r--chapter25/src/main/java/com/seaofnodes/simple/node/OrNode.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/chapter25/src/main/java/com/seaofnodes/simple/node/OrNode.java b/chapter25/src/main/java/com/seaofnodes/simple/node/OrNode.java
index ba250c26..66e561dc 100644
--- a/chapter25/src/main/java/com/seaofnodes/simple/node/OrNode.java
+++ b/chapter25/src/main/java/com/seaofnodes/simple/node/OrNode.java
@@ -27,7 +27,7 @@ public class OrNode extends ArithNode {
// Or of 0. We do not check for (0|x) because this will already
// canonicalize to (x|0)
- if( t2.isConstant() && t2 instanceof TypeInteger i && i.value()==0 )
+ if( t2.isConstant() && t2 instanceof TypeInteger i && i.value()==0 && t1.isa(TypeInteger.BOT) )
return lhs;
// Move constants to RHS: con*arg becomes arg*con