diff graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/AbstractInlineInfo.java @ 15964:9d7b2134c4ce

less canonicalization during Truffle partial evaluation
author Lukas Stadler <lukas.stadler@oracle.com>
date Wed, 28 May 2014 18:45:06 +0200
parents cf51d3ade2fb
children 1461d7627707
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/AbstractInlineInfo.java	Wed May 28 18:44:09 2014 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/AbstractInlineInfo.java	Wed May 28 18:45:06 2014 +0200
@@ -56,14 +56,7 @@
         if (inlineable instanceof InlineableGraph) {
             StructuredGraph calleeGraph = ((InlineableGraph) inlineable).getGraph();
             Map<Node, Node> duplicateMap = InliningUtil.inline(invoke, calleeGraph, receiverNullCheck);
-            for (ParameterNode parameter : calleeGraph.getNodes(ParameterNode.class)) {
-                for (Node usage : parameter.usages()) {
-                    Node node = duplicateMap.get(usage);
-                    if (node != null && node.isAlive()) {
-                        parameterUsages.add(node);
-                    }
-                }
-            }
+            getInlinedParameterUsages(parameterUsages, calleeGraph, duplicateMap);
         } else {
             assert inlineable instanceof InlineableMacroNode;
 
@@ -76,4 +69,15 @@
         assumptions.recordMethodContents(concrete);
         return parameterUsages;
     }
+
+    public static void getInlinedParameterUsages(Collection<Node> parameterUsages, StructuredGraph calleeGraph, Map<Node, Node> duplicateMap) {
+        for (ParameterNode parameter : calleeGraph.getNodes(ParameterNode.class)) {
+            for (Node usage : parameter.usages()) {
+                Node node = duplicateMap.get(usage);
+                if (node != null && node.isAlive()) {
+                    parameterUsages.add(node);
+                }
+            }
+        }
+    }
 }