Mercurial > hg > graal-compiler
changeset 21585:453284d62d64
Fix a bug in the dominator based conditional elimination.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 29 May 2015 10:52:21 +0200 |
parents | a004616f72e5 |
children | 6da76343d830 |
files | graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DominatorConditionalEliminationPhase.java |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DominatorConditionalEliminationPhase.java Fri May 29 09:08:21 2015 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DominatorConditionalEliminationPhase.java Fri May 29 10:52:21 2015 +0200 @@ -243,8 +243,12 @@ survivingSuccessor.replaceAtPredecessor(null); node.replaceAtPredecessor(survivingSuccessor); GraphUtil.killCFG(node); - if (survivingSuccessor.isAlive() && survivingSuccessor instanceof BeginNode) { - undoOperations.add(() -> ((BeginNode) survivingSuccessor).trySimplify()); + if (survivingSuccessor instanceof BeginNode) { + undoOperations.add(() -> { + if (survivingSuccessor.isAlive()) { + ((BeginNode) survivingSuccessor).trySimplify(); + } + }); } return true; });