# HG changeset patch # User Josef Eisl # Date 1423560579 -3600 # Node ID df89224ee04ad10bd2abb55dce343824bc50ee53 # Parent ef1208c9eb785faaf48476e63365f2008bb56315 Add LowLevelSuites to SuitesProvider. diff -r ef1208c9eb78 -r df89224ee04a graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSuitesProvider.java --- 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 defaultSuites; protected final PhaseSuite defaultGraphBuilderSuite; + private final DerivedOptionValue 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(); + } + } diff -r ef1208c9eb78 -r df89224ee04a graal/com.oracle.graal.java/src/com/oracle/graal/java/DefaultSuitesProvider.java --- 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 defaultSuites; private final PhaseSuite defaultGraphBuilderSuite; + private final DerivedOptionValue 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(); + } + } diff -r ef1208c9eb78 -r df89224ee04a graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/SuitesProvider.java --- 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 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(); + }