< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/GraalOptions.java

Print this page




   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 package org.graalvm.compiler.core.common;
  24 
  25 import org.graalvm.compiler.debug.Assertions;
  26 import org.graalvm.compiler.options.Option;
  27 import org.graalvm.compiler.options.OptionKey;
  28 import org.graalvm.compiler.options.OptionType;
  29 
  30 /**
  31  * This class encapsulates options that control the behavior of the Graal compiler.
  32  */
  33 // @formatter:off
  34 public final class GraalOptions {
  35 
  36     @Option(help = "Use compiler intrinsifications.", type = OptionType.Debug)
  37     public static final OptionKey<Boolean> Intrinsify = new OptionKey<>(true);
  38 
  39     @Option(help = "Inline calls with monomorphic type profile.", type = OptionType.Expert)
  40     public static final OptionKey<Boolean> InlineMonomorphicCalls = new OptionKey<>(true);
  41 
  42     @Option(help = "Inline calls with polymorphic type profile.", type = OptionType.Expert)
  43     public static final OptionKey<Boolean> InlinePolymorphicCalls = new OptionKey<>(true);
  44 
  45     @Option(help = "Inline calls with megamorphic type profile (i.e., not all types could be recorded).", type = OptionType.Expert)


 251     @Option(help = "", type = OptionType.Debug)
 252     public static final OptionKey<Boolean> OptEliminatePartiallyRedundantGuards = new OptionKey<>(true);
 253 
 254     @Option(help = "", type = OptionType.Debug)
 255     public static final OptionKey<Boolean> OptFilterProfiledTypes = new OptionKey<>(true);
 256 
 257     @Option(help = "", type = OptionType.Debug)
 258     public static final OptionKey<Boolean> OptDevirtualizeInvokesOptimistically = new OptionKey<>(true);
 259 
 260     @Option(help = "Allow backend to match complex expressions.", type = OptionType.Debug)
 261     public static final OptionKey<Boolean> MatchExpressions = new OptionKey<>(true);
 262 
 263     @Option(help = "Enable counters for various paths in snippets.", type = OptionType.Debug)
 264     public static final OptionKey<Boolean> SnippetCounters = new OptionKey<>(false);
 265 
 266     @Option(help = "Eagerly construct extra snippet info.", type = OptionType.Debug)
 267     public static final OptionKey<Boolean> EagerSnippets = new OptionKey<>(false);
 268 
 269     @Option(help = "Use a cache for snippet graphs.", type = OptionType.Debug)
 270     public static final OptionKey<Boolean> UseSnippetGraphCache = new OptionKey<>(true);
 271 
 272     @Option(help = "Enable expensive assertions.", type = OptionType.Debug)
 273     public static final OptionKey<Boolean> DetailedAsserts = new OptionKey<>(Assertions.ENABLED);
 274 
 275     @Option(help = "Enable experimental Trace Register Allocation.", type = OptionType.Debug)
 276     public static final OptionKey<Boolean> TraceRA = new OptionKey<>(false);
 277 
 278 }


   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 package org.graalvm.compiler.core.common;
  24 

  25 import org.graalvm.compiler.options.Option;
  26 import org.graalvm.compiler.options.OptionKey;
  27 import org.graalvm.compiler.options.OptionType;
  28 
  29 /**
  30  * This class encapsulates options that control the behavior of the Graal compiler.
  31  */
  32 // @formatter:off
  33 public final class GraalOptions {
  34 
  35     @Option(help = "Use compiler intrinsifications.", type = OptionType.Debug)
  36     public static final OptionKey<Boolean> Intrinsify = new OptionKey<>(true);
  37 
  38     @Option(help = "Inline calls with monomorphic type profile.", type = OptionType.Expert)
  39     public static final OptionKey<Boolean> InlineMonomorphicCalls = new OptionKey<>(true);
  40 
  41     @Option(help = "Inline calls with polymorphic type profile.", type = OptionType.Expert)
  42     public static final OptionKey<Boolean> InlinePolymorphicCalls = new OptionKey<>(true);
  43 
  44     @Option(help = "Inline calls with megamorphic type profile (i.e., not all types could be recorded).", type = OptionType.Expert)


 250     @Option(help = "", type = OptionType.Debug)
 251     public static final OptionKey<Boolean> OptEliminatePartiallyRedundantGuards = new OptionKey<>(true);
 252 
 253     @Option(help = "", type = OptionType.Debug)
 254     public static final OptionKey<Boolean> OptFilterProfiledTypes = new OptionKey<>(true);
 255 
 256     @Option(help = "", type = OptionType.Debug)
 257     public static final OptionKey<Boolean> OptDevirtualizeInvokesOptimistically = new OptionKey<>(true);
 258 
 259     @Option(help = "Allow backend to match complex expressions.", type = OptionType.Debug)
 260     public static final OptionKey<Boolean> MatchExpressions = new OptionKey<>(true);
 261 
 262     @Option(help = "Enable counters for various paths in snippets.", type = OptionType.Debug)
 263     public static final OptionKey<Boolean> SnippetCounters = new OptionKey<>(false);
 264 
 265     @Option(help = "Eagerly construct extra snippet info.", type = OptionType.Debug)
 266     public static final OptionKey<Boolean> EagerSnippets = new OptionKey<>(false);
 267 
 268     @Option(help = "Use a cache for snippet graphs.", type = OptionType.Debug)
 269     public static final OptionKey<Boolean> UseSnippetGraphCache = new OptionKey<>(true);



 270 
 271     @Option(help = "Enable experimental Trace Register Allocation.", type = OptionType.Debug)
 272     public static final OptionKey<Boolean> TraceRA = new OptionKey<>(false);
 273 
 274 }
< prev index next >