changeset 15795:190b92ee969e

[inlining-5] "where does replacements come from?" answered
author Miguel Garcia <miguel.m.garcia@oracle.com>
date Mon, 19 May 2014 21:26:46 +0200
parents e534a7a893aa
children ab2858ab79e9
files graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningData.java
diffstat 1 files changed, 6 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningData.java	Mon May 19 21:23:53 2014 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningData.java	Mon May 19 21:26:46 2014 +0200
@@ -35,7 +35,6 @@
 import com.oracle.graal.graph.Node;
 import com.oracle.graal.nodes.*;
 import com.oracle.graal.nodes.java.MethodCallTargetNode;
-import com.oracle.graal.nodes.spi.Replacements;
 import com.oracle.graal.phases.OptimisticOptimizations;
 import com.oracle.graal.phases.common.CanonicalizerPhase;
 import com.oracle.graal.phases.common.inlining.InliningUtil;
@@ -91,11 +90,11 @@
         pushGraph(rootGraph, 1.0, 1.0);
     }
 
-    private boolean checkTargetConditions(Replacements replacements, Invoke invoke, ResolvedJavaMethod method, OptimisticOptimizations optimisticOpts) {
+    private boolean checkTargetConditions(Invoke invoke, ResolvedJavaMethod method, OptimisticOptimizations optimisticOpts) {
         String failureMessage = null;
         if (method == null) {
             failureMessage = "the method is not resolved";
-        } else if (method.isNative() && (!Intrinsify.getValue() || !InliningUtil.canIntrinsify(replacements, method))) {
+        } else if (method.isNative() && (!Intrinsify.getValue() || !InliningUtil.canIntrinsify(context.getReplacements(), method))) {
             failureMessage = "it is a non-intrinsic native method";
         } else if (method.isAbstract()) {
             failureMessage = "it is an abstract method";
@@ -218,7 +217,7 @@
             ResolvedJavaType type = ptypes[0].getType();
             assert type.isArray() || !type.isAbstract();
             ResolvedJavaMethod concrete = type.resolveMethod(targetMethod, contextType);
-            if (!checkTargetConditions(context.getReplacements(), invoke, concrete, optimisticOpts)) {
+            if (!checkTargetConditions(invoke, concrete, optimisticOpts)) {
                 return null;
             }
             return new TypeGuardInlineInfo(invoke, concrete, type);
@@ -306,7 +305,7 @@
             }
 
             for (ResolvedJavaMethod concrete : concreteMethods) {
-                if (!checkTargetConditions(context.getReplacements(), invoke, concrete, optimisticOpts)) {
+                if (!checkTargetConditions(invoke, concrete, optimisticOpts)) {
                     InliningUtil.logNotInlined(invoke, inliningDepth(), targetMethod, "it is a polymorphic method call and at least one invoked method cannot be inlined");
                     return null;
                 }
@@ -317,7 +316,7 @@
 
     private InlineInfo getAssumptionInlineInfo(Invoke invoke, ResolvedJavaMethod concrete, Assumptions.Assumption takenAssumption) {
         assert !concrete.isAbstract();
-        if (!checkTargetConditions(context.getReplacements(), invoke, concrete, context.getOptimisticOptimizations())) {
+        if (!checkTargetConditions(invoke, concrete, context.getOptimisticOptimizations())) {
             return null;
         }
         return new AssumptionInlineInfo(invoke, concrete, takenAssumption);
@@ -325,7 +324,7 @@
 
     private InlineInfo getExactInlineInfo(Invoke invoke, ResolvedJavaMethod targetMethod) {
         assert !targetMethod.isAbstract();
-        if (!checkTargetConditions(context.getReplacements(), invoke, targetMethod, context.getOptimisticOptimizations())) {
+        if (!checkTargetConditions(invoke, targetMethod, context.getOptimisticOptimizations())) {
             return null;
         }
         return new ExactInlineInfo(invoke, targetMethod);