# HG changeset patch # User Gilles Duboscq # Date 1377436523 -7200 # Node ID 7a775592258f79ceba8e992470b70aa2fed3466c # Parent 95cbf029018cd68a8201fef3f970d83a62b22071 Fix Lowering when the lowered node modifies its successor's predecessor to be somethign that is not a FixedWithNextNode diff -r 95cbf029018c -r 7a775592258f graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Fri Aug 23 18:22:27 2013 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Sun Aug 25 15:15:23 2013 +0200 @@ -252,7 +252,16 @@ ((Lowerable) node).lower(loweringTool, loweringType); } - loweringTool.setLastFixedNode((FixedWithNextNode) nextNode.predecessor()); + if (!nextNode.isAlive()) { + break; + } else { + Node nextLastFixed = nextNode.predecessor(); + if (nextLastFixed instanceof FixedWithNextNode) { + loweringTool.setLastFixedNode((FixedWithNextNode) nextLastFixed); + } else { + loweringTool.setLastFixedNode((FixedWithNextNode) nextNode); + } + } } }