src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/GraalOptions.java
equal
deleted
inserted
replaced
24 |
24 |
25 package org.graalvm.compiler.core.common; |
25 package org.graalvm.compiler.core.common; |
26 |
26 |
27 import org.graalvm.compiler.options.Option; |
27 import org.graalvm.compiler.options.Option; |
28 import org.graalvm.compiler.options.OptionKey; |
28 import org.graalvm.compiler.options.OptionKey; |
|
29 import org.graalvm.compiler.options.OptionStability; |
29 import org.graalvm.compiler.options.OptionType; |
30 import org.graalvm.compiler.options.OptionType; |
30 |
31 |
31 /** |
32 /** |
32 * This class encapsulates options that control the behavior of the Graal compiler. |
33 * This class encapsulates options that control the behavior of the GraalVM compiler. |
33 */ |
34 */ |
34 // @formatter:off |
35 // @formatter:off |
35 public final class GraalOptions { |
36 public final class GraalOptions { |
36 |
37 |
37 @Option(help = "Use compiler intrinsifications.", type = OptionType.Debug) |
38 @Option(help = "Use compiler intrinsifications.", type = OptionType.Debug) |
60 |
61 |
61 @Option(help = "Inlining is explored up to this number of nodes in the graph for each call site.", type = OptionType.Expert) |
62 @Option(help = "Inlining is explored up to this number of nodes in the graph for each call site.", type = OptionType.Expert) |
62 public static final OptionKey<Integer> MaximumInliningSize = new OptionKey<>(300); |
63 public static final OptionKey<Integer> MaximumInliningSize = new OptionKey<>(300); |
63 |
64 |
64 @Option(help = "If the previous low-level graph size of the method exceeds the threshold, it is not inlined.", type = OptionType.Expert) |
65 @Option(help = "If the previous low-level graph size of the method exceeds the threshold, it is not inlined.", type = OptionType.Expert) |
65 public static final OptionKey<Integer> SmallCompiledLowLevelGraphSize = new OptionKey<>(300); |
66 public static final OptionKey<Integer> SmallCompiledLowLevelGraphSize = new OptionKey<>(330); |
66 |
67 |
67 @Option(help = "", type = OptionType.Expert) |
68 @Option(help = "", type = OptionType.Expert) |
68 public static final OptionKey<Double> LimitInlinedInvokes = new OptionKey<>(5.0); |
69 public static final OptionKey<Double> LimitInlinedInvokes = new OptionKey<>(5.0); |
69 |
70 |
70 @Option(help = "", type = OptionType.Expert) |
71 @Option(help = "", type = OptionType.Expert) |
165 |
166 |
166 @Option(help = "", type = OptionType.Debug) |
167 @Option(help = "", type = OptionType.Debug) |
167 public static final OptionKey<Boolean> ConditionalElimination = new OptionKey<>(true); |
168 public static final OptionKey<Boolean> ConditionalElimination = new OptionKey<>(true); |
168 |
169 |
169 @Option(help = "", type = OptionType.Debug) |
170 @Option(help = "", type = OptionType.Debug) |
|
171 public static final OptionKey<Integer> ConditionalEliminationMaxIterations = new OptionKey<>(4); |
|
172 |
|
173 @Option(help = "", type = OptionType.Debug) |
170 public static final OptionKey<Boolean> RawConditionalElimination = new OptionKey<>(true); |
174 public static final OptionKey<Boolean> RawConditionalElimination = new OptionKey<>(true); |
171 |
175 |
172 @Option(help = "", type = OptionType.Debug) |
176 @Option(help = "", type = OptionType.Debug) |
173 public static final OptionKey<Boolean> ReplaceInputsWithConstantsBasedOnStamps = new OptionKey<>(true); |
177 public static final OptionKey<Boolean> ReplaceInputsWithConstantsBasedOnStamps = new OptionKey<>(true); |
174 |
178 |
236 |
240 |
237 @Option(help = "", type = OptionType.Debug) |
241 @Option(help = "", type = OptionType.Debug) |
238 public static final OptionKey<Boolean> OptImplicitNullChecks = new OptionKey<>(true); |
242 public static final OptionKey<Boolean> OptImplicitNullChecks = new OptionKey<>(true); |
239 |
243 |
240 @Option(help = "", type = OptionType.Debug) |
244 @Option(help = "", type = OptionType.Debug) |
241 public static final OptionKey<Boolean> OptClearNonLiveLocals = new OptionKey<>(true); |
|
242 |
|
243 @Option(help = "", type = OptionType.Debug) |
|
244 public static final OptionKey<Boolean> OptLoopTransform = new OptionKey<>(true); |
245 public static final OptionKey<Boolean> OptLoopTransform = new OptionKey<>(true); |
245 |
246 |
246 @Option(help = "", type = OptionType.Debug) |
247 @Option(help = "", type = OptionType.Debug) |
247 public static final OptionKey<Boolean> OptFloatingReads = new OptionKey<>(true); |
248 public static final OptionKey<Boolean> OptFloatingReads = new OptionKey<>(true); |
248 |
249 |
271 public static final OptionKey<Boolean> EagerSnippets = new OptionKey<>(false); |
272 public static final OptionKey<Boolean> EagerSnippets = new OptionKey<>(false); |
272 |
273 |
273 @Option(help = "Use a cache for snippet graphs.", type = OptionType.Debug) |
274 @Option(help = "Use a cache for snippet graphs.", type = OptionType.Debug) |
274 public static final OptionKey<Boolean> UseSnippetGraphCache = new OptionKey<>(true); |
275 public static final OptionKey<Boolean> UseSnippetGraphCache = new OptionKey<>(true); |
275 |
276 |
276 @Option(help = "file:doc-files/TraceInliningHelp.txt", type = OptionType.Debug) |
277 @Option(help = "file:doc-files/TraceInliningHelp.txt", type = OptionType.Debug, stability = OptionStability.STABLE) |
277 public static final OptionKey<Boolean> TraceInlining = new OptionKey<>(false); |
278 public static final OptionKey<Boolean> TraceInlining = new OptionKey<>(false); |
278 |
279 |
279 @Option(help = "Enable inlining decision tracing in stubs and snippets.", type = OptionType.Debug) |
280 @Option(help = "Enable inlining decision tracing in stubs and snippets.", type = OptionType.Debug) |
280 public static final OptionKey<Boolean> TraceInliningForStubsAndSnippets = new OptionKey<>(false); |
281 public static final OptionKey<Boolean> TraceInliningForStubsAndSnippets = new OptionKey<>(false); |
281 |
282 |
286 public static final OptionKey<Boolean> UseEncodedGraphs = new OptionKey<>(false); |
287 public static final OptionKey<Boolean> UseEncodedGraphs = new OptionKey<>(false); |
287 |
288 |
288 @Option(help = "If applicable, use bulk zeroing instructions when the zeroing size in bytes exceeds this threshold.", type = OptionType.Expert) |
289 @Option(help = "If applicable, use bulk zeroing instructions when the zeroing size in bytes exceeds this threshold.", type = OptionType.Expert) |
289 public static final OptionKey<Integer> MinimalBulkZeroingSize = new OptionKey<>(2048); |
290 public static final OptionKey<Integer> MinimalBulkZeroingSize = new OptionKey<>(2048); |
290 |
291 |
|
292 @Option(help = "Alignment in bytes for loop header blocks.", type = OptionType.Expert) |
|
293 public static final OptionKey<Integer> LoopHeaderAlignment = new OptionKey<>(16); |
291 } |
294 } |