Mercurial > hg > truffle
changeset 16057:83efd0e68a4a
[inliner] singleton pattern for DUMMY_CALLSITE_HOLDER
author | Miguel Garcia <miguel.m.garcia@oracle.com> |
---|---|
date | Fri, 06 Jun 2014 11:47:56 +0200 |
parents | 61cf8b61ee4e |
children | 45bd621d9bb9 |
files | graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/AbstractInlineInfo.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/CallsiteHolderDummy.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningData.java |
diffstat | 3 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/AbstractInlineInfo.java Fri Jun 06 11:41:10 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/info/AbstractInlineInfo.java Fri Jun 06 11:47:56 2014 +0200 @@ -34,8 +34,8 @@ import com.oracle.graal.phases.common.inlining.info.elem.InlineableMacroNode; import com.oracle.graal.phases.common.inlining.info.elem.InlineableGraph; import com.oracle.graal.phases.common.inlining.walker.CallsiteHolder; +import com.oracle.graal.phases.common.inlining.walker.CallsiteHolderDummy; import com.oracle.graal.phases.common.inlining.walker.CallsiteHolderExplorable; -import com.oracle.graal.phases.common.inlining.walker.InliningData; import com.oracle.graal.phases.tiers.HighTierContext; public abstract class AbstractInlineInfo implements InlineInfo { @@ -100,7 +100,7 @@ return new CallsiteHolderExplorable(ig.getGraph(), invokeProbability * probabilityAt(index), invokeRelevance * relevanceAt(index)); } else { assert elem instanceof InlineableMacroNode; - return InliningData.DUMMY_CALLSITE_HOLDER; + return CallsiteHolderDummy.DUMMY_CALLSITE_HOLDER; } } }
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/CallsiteHolderDummy.java Fri Jun 06 11:41:10 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/CallsiteHolderDummy.java Fri Jun 06 11:47:56 2014 +0200 @@ -33,7 +33,10 @@ */ public final class CallsiteHolderDummy extends CallsiteHolder { - public CallsiteHolderDummy() { + public static final CallsiteHolderDummy DUMMY_CALLSITE_HOLDER = new CallsiteHolderDummy(); + + private CallsiteHolderDummy() { + // no instances other than the singleton } @Override
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningData.java Fri Jun 06 11:41:10 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningData.java Fri Jun 06 11:47:56 2014 +0200 @@ -51,6 +51,7 @@ import java.util.function.ToDoubleFunction; import static com.oracle.graal.compiler.common.GraalOptions.*; +import static com.oracle.graal.phases.common.inlining.walker.CallsiteHolderDummy.DUMMY_CALLSITE_HOLDER; /** * Holds the data for building the callee graphs recursively: graphs and invocations (each @@ -58,7 +59,6 @@ */ public class InliningData { - public static final CallsiteHolder DUMMY_CALLSITE_HOLDER = new CallsiteHolderDummy(); // Metrics private static final DebugMetric metricInliningPerformed = Debug.metric("InliningPerformed"); private static final DebugMetric metricInliningRuns = Debug.metric("InliningRuns");