From 5c48e9fde3185710892815af3adc992585486a24 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Fri, 26 Jul 2024 14:56:40 +0300 Subject: missing null check --- chapter12/src/main/java/com/seaofnodes/simple/node/PhiNode.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'chapter12/src/main/java') 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; } -- cgit v1.2.3