summaryrefslogtreecommitdiff
path: root/chapter12/src/main/java/com
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2024-07-26 14:56:40 +0300
committerDibyendu Majumdar <dibyendumajumdar@users.noreply.github.com>2024-08-05 23:28:33 +0100
commit5c48e9fde3185710892815af3adc992585486a24 (patch)
treed69f4b33f96cdab0314ad98ef4e9fba9638aa701 /chapter12/src/main/java/com
parentaced58bb64ae52f82276ac48ff28737d54130223 (diff)
downloadSimple-5c48e9fde3185710892815af3adc992585486a24.tar.gz
Simple-5c48e9fde3185710892815af3adc992585486a24.zip
missing null check
Diffstat (limited to 'chapter12/src/main/java/com')
-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;
}