Mercurial > hg > truffle
changeset 11878:39e9ec0cf310
Inlining: remove killing begin node in non-exceptional path of InvokeWithException after inlining
author | Bernhard Urban <bernhard.urban@jku.at> |
---|---|
date | Wed, 02 Oct 2013 21:54:12 +0200 |
parents | ef895852aeb4 |
children | e602861c3f7d |
files | graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Wed Oct 02 18:40:48 2013 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Wed Oct 02 21:54:12 2013 +0200 @@ -1363,6 +1363,13 @@ } else { invokeWithException.killExceptionEdge(); } + + // get rid of memory kill + AbstractBeginNode begin = invokeWithException.next(); + if (begin instanceof KillingBeginNode) { + graph.addAfterFixed(begin, graph.add(new BeginNode())); + graph.removeFixed(begin); + } } else { if (unwindNode != null) { UnwindNode unwindDuplicate = (UnwindNode) duplicates.get(unwindNode);