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");