changeset 13129:3a05ef752a40

Introduce option to disable deoptimization grouping
author Christian Wimmer <christian.wimmer@oracle.com>
date Fri, 22 Nov 2013 12:12:38 -0800
parents c9660efac5f6
children 103a0003db01
files graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/HighTier.java graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java
diffstat 3 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/HighTier.java	Fri Nov 22 12:02:59 2013 -0800
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/HighTier.java	Fri Nov 22 12:12:38 2013 -0800
@@ -37,7 +37,7 @@
 
 public class HighTier extends PhaseSuite<HighTierContext> {
 
-    static class Options {
+    public static class Options {
 
         // @formatter:off
         @Option(help = "")
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java	Fri Nov 22 12:02:59 2013 -0800
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java	Fri Nov 22 12:12:38 2013 -0800
@@ -89,7 +89,9 @@
 
         appendPhase(new FrameStateAssignmentPhase());
 
-        appendPhase(new DeoptimizationGroupingPhase());
+        if (OptDeoptimizationGrouping.getValue()) {
+            appendPhase(new DeoptimizationGroupingPhase());
+        }
 
         if (OptCanonicalizer.getValue()) {
             appendPhase(canonicalizer);
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java	Fri Nov 22 12:02:59 2013 -0800
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java	Fri Nov 22 12:12:38 2013 -0800
@@ -258,7 +258,9 @@
     @Option(help = "")
     public static final OptionValue<Boolean> OptCanonicalizer = new OptionValue<>(true);
     @Option(help = "")
-     public static final OptionValue<Boolean> OptScheduleOutOfLoops = new OptionValue<>(true);
+    public static final OptionValue<Boolean> OptDeoptimizationGrouping = new OptionValue<>(true);
+    @Option(help = "")
+    public static final OptionValue<Boolean> OptScheduleOutOfLoops = new OptionValue<>(true);
     @Option(help = "")
     public static final OptionValue<Boolean> OptEliminateGuards = new OptionValue<>(true);
     @Option(help = "")