# HG changeset patch # User Gilles Duboscq # Date 1398246591 -7200 # Node ID 54d06efb0392771a9133e12b23c67a2ed568b39e # Parent 9363fffa8b07c4b1dbfcc8862477cc521ff8e793 When replacing sate splits with deopts, be careful about BeginNodes diff -r 9363fffa8b07 -r 54d06efb0392 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Wed Apr 23 15:48:38 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Wed Apr 23 11:49:51 2014 +0200 @@ -1494,7 +1494,10 @@ GraphUtil.killCFG(end); } } else { - DeoptimizeNode deoptimizeNode = graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.NotCompiledExceptionHandler)); + FixedNode deoptimizeNode = graph.add(new DeoptimizeNode(DeoptimizationAction.InvalidateRecompile, DeoptimizationReason.NotCompiledExceptionHandler)); + if (fixedStateSplit instanceof BeginNode) { + deoptimizeNode = BeginNode.begin(deoptimizeNode); + } fixedStateSplit.replaceAtPredecessor(deoptimizeNode); GraphUtil.killCFG(fixedStateSplit); }