changeset 20144:921eeb012866

Don't drop entry framestate in inline graph if it has more usages than just the start node.
author Roland Schatz <roland.schatz@oracle.com>
date Thu, 02 Apr 2015 17:32:26 +0200
parents 3424e06e4951
children 80fda5775d0c b1a8928fc4b9
files graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java	Thu Apr 02 16:56:27 2015 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/InliningUtil.java	Thu Apr 02 17:32:26 2015 +0200
@@ -258,7 +258,7 @@
             throw new IllegalStateException("Inlined graph is in invalid state: " + inlineGraph);
         }
         for (Node node : inlineGraph.getNodes()) {
-            if (node == entryPointNode || node == entryPointNode.stateAfter() || node instanceof ParameterNode) {
+            if (node == entryPointNode || (node == entryPointNode.stateAfter() && node.usages().count() == 1) || node instanceof ParameterNode) {
                 // Do nothing.
             } else {
                 nodes.add(node);