changeset 19231:df89224ee04a

Add LowLevelSuites to SuitesProvider.
author Josef Eisl <josef.eisl@jku.at>
date Tue, 10 Feb 2015 10:29:39 +0100
parents ef1208c9eb78
children 66c60942c06c
files graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSuitesProvider.java graal/com.oracle.graal.java/src/com/oracle/graal/java/DefaultSuitesProvider.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/SuitesProvider.java
diffstat 3 files changed, 34 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSuitesProvider.java	Tue Feb 10 10:09:50 2015 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSuitesProvider.java	Tue Feb 10 10:29:39 2015 +0100
@@ -34,6 +34,7 @@
 import com.oracle.graal.java.*;
 import com.oracle.graal.java.GraphBuilderConfiguration.DebugInfoMode;
 import com.oracle.graal.java.GraphBuilderPlugins.InlineInvokePlugin;
+import com.oracle.graal.lir.phases.*;
 import com.oracle.graal.options.*;
 import com.oracle.graal.phases.*;
 import com.oracle.graal.phases.tiers.*;
@@ -45,12 +46,14 @@
 
     protected final DerivedOptionValue<Suites> defaultSuites;
     protected final PhaseSuite<HighTierContext> defaultGraphBuilderSuite;
+    private final DerivedOptionValue<LowLevelSuites> defaultLowLevelSuites;
     protected final HotSpotGraalRuntimeProvider runtime;
 
     public HotSpotSuitesProvider(HotSpotGraalRuntimeProvider runtime) {
         this.runtime = runtime;
         this.defaultGraphBuilderSuite = createGraphBuilderSuite();
         this.defaultSuites = new DerivedOptionValue<>(this);
+        this.defaultLowLevelSuites = new DerivedOptionValue<>(this::createLowLevelSuites);
     }
 
     public Suites getDefaultSuites() {
@@ -117,4 +120,12 @@
         return gbs;
     }
 
+    public LowLevelSuites getDefaultLowLevelSuites() {
+        return defaultLowLevelSuites.getValue();
+    }
+
+    public LowLevelSuites createLowLevelSuites() {
+        return Suites.createDefaultLowLevelSuites();
+    }
+
 }
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/DefaultSuitesProvider.java	Tue Feb 10 10:09:50 2015 +0100
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/DefaultSuitesProvider.java	Tue Feb 10 10:29:39 2015 +0100
@@ -24,6 +24,7 @@
 
 import java.util.function.*;
 
+import com.oracle.graal.lir.phases.*;
 import com.oracle.graal.options.*;
 import com.oracle.graal.phases.*;
 import com.oracle.graal.phases.tiers.*;
@@ -32,10 +33,12 @@
 
     private final DerivedOptionValue<Suites> defaultSuites;
     private final PhaseSuite<HighTierContext> defaultGraphBuilderSuite;
+    private final DerivedOptionValue<LowLevelSuites> defaultLowLevelSuites;
 
     public DefaultSuitesProvider() {
         this.defaultGraphBuilderSuite = createGraphBuilderSuite();
         this.defaultSuites = new DerivedOptionValue<>(this::createSuites);
+        this.defaultLowLevelSuites = new DerivedOptionValue<>(this::createLowLevelSuites);
     }
 
     public Suites getDefaultSuites() {
@@ -60,4 +63,12 @@
         return suite;
     }
 
+    public LowLevelSuites getDefaultLowLevelSuites() {
+        return defaultLowLevelSuites.getValue();
+    }
+
+    public LowLevelSuites createLowLevelSuites() {
+        return Suites.createDefaultLowLevelSuites();
+    }
+
 }
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/SuitesProvider.java	Tue Feb 10 10:09:50 2015 +0100
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/SuitesProvider.java	Tue Feb 10 10:29:39 2015 +0100
@@ -22,6 +22,7 @@
  */
 package com.oracle.graal.phases.tiers;
 
+import com.oracle.graal.lir.phases.*;
 import com.oracle.graal.phases.*;
 
 public interface SuitesProvider {
@@ -42,4 +43,15 @@
      */
     PhaseSuite<HighTierContext> getDefaultGraphBuilderSuite();
 
+    /**
+     * Get the default phase suites of this compiler.
+     */
+    LowLevelSuites getDefaultLowLevelSuites();
+
+    /**
+     * Create a new set of low-level phase suites. Initially, the suites are the same as the
+     * {@link #getDefaultLowLevelSuites default} suites.
+     */
+    LowLevelSuites createLowLevelSuites();
+
 }