# HG changeset patch # User Christian Haeubl # Date 1364304932 -3600 # Node ID 056966f39a3694e7605279600c13b376a8155c25 # Parent 718c0304ffeb32561439f103b894742b501f389d changed parameters of InliningPhase diff -r 718c0304ffeb -r 056966f39a36 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java Tue Mar 26 12:16:35 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java Tue Mar 26 14:35:32 2013 +0100 @@ -50,7 +50,7 @@ private final PhasePlan plan; - private final GraalCodeCacheProvider runtime; + private final MetaAccessProvider runtime; private final Assumptions assumptions; private final GraphCache cache; private final InliningPolicy inliningPolicy; @@ -63,7 +63,7 @@ private static final DebugMetric metricInliningStoppedByMaxDesiredSize = Debug.metric("InliningStoppedByMaxDesiredSize"); private static final DebugMetric metricInliningRuns = Debug.metric("Runs"); - public InliningPhase(GraalCodeCacheProvider runtime, Collection hints, Assumptions assumptions, GraphCache cache, PhasePlan plan, OptimisticOptimizations optimisticOpts) { + public InliningPhase(MetaAccessProvider runtime, Collection hints, Assumptions assumptions, GraphCache cache, PhasePlan plan, OptimisticOptimizations optimisticOpts) { this(runtime, assumptions, cache, plan, createInliningPolicy(runtime, assumptions, optimisticOpts, hints), optimisticOpts); } @@ -71,7 +71,7 @@ this.customCanonicalizer = customCanonicalizer; } - public InliningPhase(GraalCodeCacheProvider runtime, Assumptions assumptions, GraphCache cache, PhasePlan plan, InliningPolicy inliningPolicy, OptimisticOptimizations optimisticOpts) { + public InliningPhase(MetaAccessProvider runtime, Assumptions assumptions, GraphCache cache, PhasePlan plan, InliningPolicy inliningPolicy, OptimisticOptimizations optimisticOpts) { this.runtime = runtime; this.assumptions = assumptions; this.cache = cache; @@ -163,10 +163,10 @@ private static class GreedySizeBasedInliningDecision implements InliningDecision { - private final GraalCodeCacheProvider runtime; + private final MetaAccessProvider runtime; private final Collection hints; - public GreedySizeBasedInliningDecision(GraalCodeCacheProvider runtime, Collection hints) { + public GreedySizeBasedInliningDecision(MetaAccessProvider runtime, Collection hints) { this.runtime = runtime; this.hints = hints; } @@ -500,7 +500,7 @@ } } - private static InliningPolicy createInliningPolicy(GraalCodeCacheProvider runtime, Assumptions assumptions, OptimisticOptimizations optimisticOpts, Collection hints) { + private static InliningPolicy createInliningPolicy(MetaAccessProvider runtime, Assumptions assumptions, OptimisticOptimizations optimisticOpts, Collection hints) { InliningDecision inliningDecision = new GreedySizeBasedInliningDecision(runtime, hints); return new CFInliningPolicy(inliningDecision, hints, assumptions, optimisticOpts); } diff -r 718c0304ffeb -r 056966f39a36 graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Tue Mar 26 12:16:35 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Tue Mar 26 14:35:32 2013 +0100 @@ -39,7 +39,6 @@ import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.java.*; import com.oracle.graal.nodes.java.MethodCallTargetNode.InvokeKind; -import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; import com.oracle.graal.nodes.util.*; import com.oracle.graal.phases.*; @@ -194,12 +193,12 @@ * return value of the inlined method (or null for void methods and methods that have no * non-exceptional exit). **/ - void inline(StructuredGraph graph, GraalCodeCacheProvider runtime, InliningCallback callback, Assumptions assumptions); + void inline(StructuredGraph graph, MetaAccessProvider runtime, InliningCallback callback, Assumptions assumptions); /** * Try to make the call static bindable to avoid interface and virtual method calls. */ - void tryToDevirtualizeInvoke(StructuredGraph graph, GraalCodeCacheProvider runtime, Assumptions assumptions); + void tryToDevirtualizeInvoke(StructuredGraph graph, MetaAccessProvider runtime, Assumptions assumptions); } public abstract static class AbstractInlineInfo implements InlineInfo { @@ -287,12 +286,12 @@ } @Override - public void inline(StructuredGraph compilerGraph, GraalCodeCacheProvider runtime, InliningCallback callback, Assumptions assumptions) { + public void inline(StructuredGraph compilerGraph, MetaAccessProvider runtime, InliningCallback callback, Assumptions assumptions) { inline(invoke, concrete, callback, assumptions, true); } @Override - public void tryToDevirtualizeInvoke(StructuredGraph graph, GraalCodeCacheProvider runtime, Assumptions assumptions) { + public void tryToDevirtualizeInvoke(StructuredGraph graph, MetaAccessProvider runtime, Assumptions assumptions) { // nothing todo, can already be bound statically } @@ -341,18 +340,18 @@ } @Override - public void inline(StructuredGraph graph, GraalCodeCacheProvider runtime, InliningCallback callback, Assumptions assumptions) { + public void inline(StructuredGraph graph, MetaAccessProvider runtime, InliningCallback callback, Assumptions assumptions) { createGuard(graph, runtime); inline(invoke, concrete, callback, assumptions, false); } @Override - public void tryToDevirtualizeInvoke(StructuredGraph graph, GraalCodeCacheProvider runtime, Assumptions assumptions) { + public void tryToDevirtualizeInvoke(StructuredGraph graph, MetaAccessProvider runtime, Assumptions assumptions) { createGuard(graph, runtime); replaceInvokeCallTarget(graph, InvokeKind.Special, concrete); } - private void createGuard(StructuredGraph graph, GraalCodeCacheProvider runtime) { + private void createGuard(StructuredGraph graph, MetaAccessProvider runtime) { InliningUtil.receiverNullCheck(invoke); ValueNode receiver = invoke.methodCallTarget().receiver(); ConstantNode typeHub = ConstantNode.forConstant(type.getEncoding(Representation.ObjectHub), runtime, graph); @@ -411,7 +410,7 @@ } @Override - public void inline(StructuredGraph graph, GraalCodeCacheProvider runtime, InliningCallback callback, Assumptions assumptions) { + public void inline(StructuredGraph graph, MetaAccessProvider runtime, InliningCallback callback, Assumptions assumptions) { // receiver null check must be the first node InliningUtil.receiverNullCheck(invoke); if (hasSingleMethod()) { @@ -674,7 +673,7 @@ } @Override - public void tryToDevirtualizeInvoke(StructuredGraph graph, GraalCodeCacheProvider runtime, Assumptions assumptions) { + public void tryToDevirtualizeInvoke(StructuredGraph graph, MetaAccessProvider runtime, Assumptions assumptions) { if (hasSingleMethod()) { tryToDevirtualizeSingleMethod(graph); } else { @@ -760,7 +759,7 @@ } @Override - public void inline(StructuredGraph graph, GraalCodeCacheProvider runtime, InliningCallback callback, Assumptions assumptions) { + public void inline(StructuredGraph graph, MetaAccessProvider runtime, InliningCallback callback, Assumptions assumptions) { assumptions.record(takenAssumption); Debug.log("recording assumption: %s", takenAssumption); @@ -768,7 +767,7 @@ } @Override - public void tryToDevirtualizeInvoke(StructuredGraph graph, GraalCodeCacheProvider runtime, Assumptions assumptions) { + public void tryToDevirtualizeInvoke(StructuredGraph graph, MetaAccessProvider runtime, Assumptions assumptions) { assumptions.record(takenAssumption); replaceInvokeCallTarget(graph, InvokeKind.Special, concrete); }