Mercurial > hg > truffle
changeset 19950:5ee90d1bf6cd
Merge.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Wed, 18 Mar 2015 21:36:35 +0100 |
parents | b3a2e8e564ad (current diff) 212566f9cd69 (diff) |
children | a252927dfbfd |
files | |
diffstat | 2 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/OnStackReplacementPhase.java Wed Mar 18 21:36:12 2015 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/OnStackReplacementPhase.java Wed Mar 18 21:36:35 2015 +0100 @@ -76,6 +76,7 @@ } LoopTransformations.peel(osrLoop); + osr.replaceAtUsages(InputType.Guard, AbstractBeginNode.prevBegin((FixedNode) osr.predecessor())); for (Node usage : osr.usages().snapshot()) { ProxyNode proxy = (ProxyNode) usage; proxy.replaceAndDelete(proxy.value()); @@ -107,6 +108,8 @@ assert value == null || value instanceof OSRLocalNode; } } + osr.replaceAtUsages(InputType.Guard, osrStart); + assert osr.usages().isEmpty(); GraphUtil.killCFG(start);
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DominatorConditionalEliminationPhase.java Wed Mar 18 21:36:12 2015 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DominatorConditionalEliminationPhase.java Wed Mar 18 21:36:35 2015 +0100 @@ -377,7 +377,7 @@ private void processConditionAnchor(ConditionAnchorNode node) { tryProofCondition(node.condition(), (guard, result) -> { - if (result == node.isNegated()) { + if (result != node.isNegated()) { node.replaceAtUsages(guard); GraphUtil.unlinkFixedNode(node); GraphUtil.killWithUnusedFloatingInputs(node);