diff graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSuitesProvider.java @ 16871:e728b9d4905c

Recompute phase suites when options are changed.
author Roland Schatz <roland.schatz@oracle.com>
date Wed, 20 Aug 2014 16:43:05 +0200
parents e43591136d9f
children 583bf03b3e1a
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSuitesProvider.java	Wed Aug 20 15:35:27 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSuitesProvider.java	Wed Aug 20 16:43:05 2014 +0200
@@ -27,6 +27,7 @@
 import com.oracle.graal.hotspot.*;
 import com.oracle.graal.hotspot.phases.*;
 import com.oracle.graal.java.*;
+import com.oracle.graal.options.*;
 import com.oracle.graal.phases.*;
 import com.oracle.graal.phases.tiers.*;
 
@@ -35,18 +36,18 @@
  */
 public class HotSpotSuitesProvider implements SuitesProvider {
 
-    protected final Suites defaultSuites;
+    protected final DerivedOptionValue<Suites> defaultSuites;
     protected final PhaseSuite<HighTierContext> defaultGraphBuilderSuite;
     protected final HotSpotGraalRuntime runtime;
 
     public HotSpotSuitesProvider(HotSpotGraalRuntime runtime) {
         this.runtime = runtime;
         this.defaultGraphBuilderSuite = createGraphBuilderSuite();
-        defaultSuites = createSuites();
+        this.defaultSuites = new DerivedOptionValue<>(this::createSuites);
     }
 
     public Suites getDefaultSuites() {
-        return defaultSuites;
+        return defaultSuites.getValue();
     }
 
     public PhaseSuite<HighTierContext> getDefaultGraphBuilderSuite() {