Mercurial > hg > truffle
changeset 15317:54d06efb0392
When replacing sate splits with deopts, be careful about BeginNodes
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Wed, 23 Apr 2014 11:49:51 +0200 |
parents | 9363fffa8b07 |
children | f299b1ed79eb |
files | graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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); }