26 |
26 |
27 import org.graalvm.compiler.core.CompilationWrapper.ExceptionAction; |
27 import org.graalvm.compiler.core.CompilationWrapper.ExceptionAction; |
28 import org.graalvm.compiler.options.EnumOptionKey; |
28 import org.graalvm.compiler.options.EnumOptionKey; |
29 import org.graalvm.compiler.options.Option; |
29 import org.graalvm.compiler.options.Option; |
30 import org.graalvm.compiler.options.OptionKey; |
30 import org.graalvm.compiler.options.OptionKey; |
|
31 import org.graalvm.compiler.options.OptionStability; |
31 import org.graalvm.compiler.options.OptionType; |
32 import org.graalvm.compiler.options.OptionType; |
32 |
33 |
33 /** |
34 /** |
34 * Options related to {@link GraalCompiler}. |
35 * Options related to {@link GraalCompiler}. |
35 */ |
36 */ |
36 public class GraalCompilerOptions { |
37 public class GraalCompilerOptions { |
37 |
38 |
38 // @formatter:off |
39 // @formatter:off |
39 @Option(help = "Print an informational line to the console for each completed compilation.", type = OptionType.Debug) |
40 @Option(help = "Print an informational line to the console for each completed compilation.", type = OptionType.Debug, stability = OptionStability.STABLE) |
40 public static final OptionKey<Boolean> PrintCompilation = new OptionKey<>(false); |
41 public static final OptionKey<Boolean> PrintCompilation = new OptionKey<>(false); |
41 @Option(help = "Pattern for method(s) that will trigger an exception when compiled. " + |
42 @Option(help = "Pattern for method(s) that will trigger an exception when compiled. " + |
42 "This option exists to test handling compilation crashes gracefully. " + |
43 "This option exists to test handling compilation crashes gracefully. " + |
43 "See the MethodFilter option for the pattern syntax. A ':Bailout' " + |
44 "See the MethodFilter option for the pattern syntax. A ':Bailout' " + |
44 "suffix will raise a bailout exception and a ':PermanentBailout' " + |
45 "suffix will raise a bailout exception and a ':PermanentBailout' " + |
45 "suffix will raise a permanent bailout exception.", type = OptionType.Debug) |
46 "suffix will raise a permanent bailout exception.", type = OptionType.Debug) |
46 public static final OptionKey<String> CrashAt = new OptionKey<>(null); |
47 public static final OptionKey<String> CrashAt = new OptionKey<>(null); |
47 @Option(help = "Treat compilation bailouts like compilation failures.", type = OptionType.User) |
48 @Option(help = "Treat compilation bailouts like compilation failures.", type = OptionType.User, stability = OptionStability.STABLE) |
48 public static final OptionKey<Boolean> CompilationBailoutAsFailure = new OptionKey<>(false); |
49 public static final OptionKey<Boolean> CompilationBailoutAsFailure = new OptionKey<>(false); |
49 @Option(help = "file:doc-files/CompilationFailureActionHelp.txt", type = OptionType.User) |
50 @Option(help = "file:doc-files/CompilationFailureActionHelp.txt", type = OptionType.User, stability = OptionStability.STABLE) |
50 public static final EnumOptionKey<ExceptionAction> CompilationFailureAction = new EnumOptionKey<>(ExceptionAction.Silent); |
51 public static final EnumOptionKey<ExceptionAction> CompilationFailureAction = new EnumOptionKey<>(ExceptionAction.Silent); |
51 @Option(help = "The maximum number of compilation failures to handle with the action specified " + |
52 @Option(help = "The maximum number of compilation failures to handle with the action specified " + |
52 "by CompilationFailureAction before changing to a less verbose action. " + |
53 "by CompilationFailureAction before changing to a less verbose action. " + |
53 "This does not apply to the ExitVM action.", type = OptionType.User) |
54 "This does not apply to the ExitVM action.", type = OptionType.User) |
54 public static final OptionKey<Integer> MaxCompilationProblemsPerAction = new OptionKey<>(2); |
55 public static final OptionKey<Integer> MaxCompilationProblemsPerAction = new OptionKey<>(2); |