Mercurial > hg > graal-compiler
changeset 23343:b2223a89bd22
GraphPE: keep state of MergeNode when creating LoopBeginNode
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Wed, 20 Jan 2016 10:54:25 -0800 |
parents | e781b762e166 |
children | 5538acafd12f |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GraphDecoder.java |
diffstat | 1 files changed, 1 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GraphDecoder.java Wed Jan 20 12:16:37 2016 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GraphDecoder.java Wed Jan 20 10:54:25 2016 -0800 @@ -1167,9 +1167,8 @@ merge.removeEnd(endNode); FixedNode afterMerge = merge.next(); if (!(afterMerge instanceof EndNode) || !(((EndNode) afterMerge).merge() instanceof LoopBeginNode)) { - FrameState stateAfter = merge.stateAfter(); + FrameState stateAfter = merge.stateAfter().duplicate(); merge.setNext(null); - merge.setStateAfter(null); EndNode preLoopEnd = methodScope.graph.add(new EndNode()); LoopBeginNode newLoopBegin = methodScope.graph.add(new LoopBeginNode()); merge.setNext(preLoopEnd);