Mercurial > hg > truffle
changeset 20180:2c6fb59b484f
Ensure ControlSinkNodes are added to the graph in PartialEscapeClosure.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Wed, 08 Apr 2015 11:29:36 +0200 |
parents | ca29dc4ffab0 |
children | 8dec9eea3186 |
files | graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java |
diffstat | 2 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java Tue Apr 07 17:52:50 2015 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java Wed Apr 08 11:29:36 2015 +0200 @@ -65,7 +65,7 @@ assert position.isAlive(); if (!node.isAlive()) { graph.addWithoutUniqueWithInputs(node); - if (node instanceof FixedNode) { + if (node instanceof FixedWithNextNode) { graph.addBeforeFixed(position, (FixedWithNextNode) node); } }
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Tue Apr 07 17:52:50 2015 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Wed Apr 08 11:29:36 2015 +0200 @@ -206,11 +206,11 @@ VirtualUtil.trace("replacement via canonicalization too complex: %s -> %s", node, canonicalizedValue); return false; } + effects.ensureAdded(canonicalizedValue, insertBefore); if (canonicalizedValue instanceof ControlSinkNode) { effects.replaceWithSink((FixedWithNextNode) node, (ControlSinkNode) canonicalizedValue); state.markAsDead(); } else { - effects.ensureAdded(canonicalizedValue, insertBefore); effects.replaceAtUsages(node, canonicalizedValue); addScalarAlias(node, canonicalizedValue); }