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 }
|