summaryrefslogtreecommitdiff
path: root/chapter12/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'chapter12/src/main/java')
-rw-r--r--chapter12/src/main/java/com/seaofnodes/simple/node/PhiNode.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/chapter12/src/main/java/com/seaofnodes/simple/node/PhiNode.java b/chapter12/src/main/java/com/seaofnodes/simple/node/PhiNode.java
index 535db980..ebed8dd1 100644
--- a/chapter12/src/main/java/com/seaofnodes/simple/node/PhiNode.java
+++ b/chapter12/src/main/java/com/seaofnodes/simple/node/PhiNode.java
@@ -103,7 +103,7 @@ public class PhiNode extends Node {
if( region().idom(this) instanceof IfNode iff && iff.pred().addDep(this)==val ) {
// Must walk the idom on the null side to make sure we hit False.
CFGNode idom = (CFGNode)region().in(nullx);
- while( idom.in(0) != iff ) idom = idom.idom();
+ while( idom.nIns() > 0 && idom.in(0) != iff ) idom = idom.idom();
if( idom instanceof CProjNode proj && proj._idx==1 )
return val;
}