annotate graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/GraalOptions.java @ 21538:c1e2fdb5fea3

removed more dependencies from JVMCI classes to non-JVMCI classes (JBS:GRAAL-53)
author Doug Simon <doug.simon@oracle.com>
date Mon, 25 May 2015 17:20:39 +0200
parents e4eae0fb72d0
children 543957c1c6a6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
1 /*
14053
a7f26a522439 Direct LIR generation: added alternative compilation path to GraalCompilerTest.
Josef Eisl <josef.eisl@jku.at>
parents: 13972
diff changeset
2 * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
4 *
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
7 * published by the Free Software Foundation.
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
8 *
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
13 * accompanied this code).
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
14 *
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
18 *
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
21 * questions.
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
22 */
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14707
diff changeset
23 package com.oracle.graal.compiler.common;
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
24
9864
063a712fe8d8 converted remaining options in GraalOptions to new system (GRAAL-27)
Doug Simon <doug.simon@oracle.com>
parents: 9855
diff changeset
25 import com.oracle.graal.options.*;
063a712fe8d8 converted remaining options in GraalOptions to new system (GRAAL-27)
Doug Simon <doug.simon@oracle.com>
parents: 9855
diff changeset
26
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
27 /**
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
28 * This class encapsulates options that control the behavior of the Graal compiler.
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
29 */
7522
4cc0efe5cffe disabled auto-formatting of manually formatted code
Doug Simon <doug.simon@oracle.com>
parents: 7497
diff changeset
30 // @formatter:off
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
31 public final class GraalOptions {
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
32
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
33 @Option(help = "Use compiler intrinsifications.", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
34 public static final OptionValue<Boolean> Intrinsify = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
35
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
36 @Option(help = "Inline calls with monomorphic type profile.", type = OptionType.Expert)
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14707
diff changeset
37 public static final OptionValue<Boolean> InlineMonomorphicCalls = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
38
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
39 @Option(help = "Inline calls with polymorphic type profile.", type = OptionType.Expert)
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14707
diff changeset
40 public static final OptionValue<Boolean> InlinePolymorphicCalls = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
41
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
42 @Option(help = "Inline calls with megamorphic type profile (i.e., not all types could be recorded).", type = OptionType.Expert)
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14707
diff changeset
43 public static final OptionValue<Boolean> InlineMegamorphicCalls = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
44
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
45 @Option(help = "Maximum desired size of the compiler graph in nodes.", type = OptionType.User)
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
46 public static final OptionValue<Integer> MaximumDesiredSize = new OptionValue<>(20000);
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
47
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
48 @Option(help = "Minimum probability for methods to be inlined for megamorphic type profiles.", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
49 public static final OptionValue<Double> MegamorphicInliningMinMethodProbability = new OptionValue<>(0.33D);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
50
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
51 @Option(help = "Maximum level of recursive inlining.", type = OptionType.Expert)
10912
4ea54634f03e increase maximum recursive inlining size
Lukas Stadler <lukas.stadler@jku.at>
parents: 10894
diff changeset
52 public static final OptionValue<Integer> MaximumRecursiveInlining = new OptionValue<>(5);
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
53
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
54 @Option(help = "Graphs with less than this number of nodes are trivial and therefore always inlined.", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
55 public static final OptionValue<Integer> TrivialInliningSize = new OptionValue<>(10);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
56
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
57 @Option(help = "Inlining is explored up to this number of nodes in the graph for each call site.", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
58 public static final OptionValue<Integer> MaximumInliningSize = new OptionValue<>(300);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
59
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
60 @Option(help = "If the previous low-level graph size of the method exceeds the threshold, it is not inlined.", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
61 public static final OptionValue<Integer> SmallCompiledLowLevelGraphSize = new OptionValue<>(300);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
62
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
63 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
64 public static final OptionValue<Double> LimitInlinedInvokes = new OptionValue<>(5.0);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
65
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
66 @Option(help = "", type = OptionType.Expert)
10769
395d34c10e26 HSAIL backend changes
Doug Simon <doug.simon@oracle.com>
parents: 10672
diff changeset
67 public static final OptionValue<Boolean> InlineEverything = new OptionValue<>(false);
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
68
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
69 // escape analysis settings
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
70 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
71 public static final OptionValue<Boolean> PartialEscapeAnalysis = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
72
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
73 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
74 public static final OptionValue<Integer> EscapeAnalysisIterations = new OptionValue<>(2);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
75
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
76 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
77 public static final OptionValue<String> EscapeAnalyzeOnly = new OptionValue<>(null);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
78
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
79 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
80 public static final OptionValue<Integer> MaximumEscapeAnalysisArrayLength = new OptionValue<>(32);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
81
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
82 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
83 public static final OptionValue<Boolean> PEAInliningHints = new OptionValue<>(false);
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
84
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
85 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
86 public static final OptionValue<Double> TailDuplicationProbability = new OptionValue<>(0.5);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
87
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
88 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
89 public static final OptionValue<Integer> TailDuplicationTrivialSize = new OptionValue<>(1);
5786
f69a406355b2 new tail duplication phase
Lukas Stadler <lukas.stadler@jku.at>
parents: 5772
diff changeset
90
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
91 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
92 public static final OptionValue<Integer> DeoptsToDisableOptimisticOptimization = new OptionValue<>(40);
4551
a7a16015e47f changed profiling maturity so that profiling information is used more likely
Christian Haeubl <christian.haeubl@oracle.com>
parents: 4541
diff changeset
93
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
94 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
95 public static final OptionValue<Boolean> LoopPeeling = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
96
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
97 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
98 public static final OptionValue<Boolean> ReassociateInvariants = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
99
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
100 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
101 public static final OptionValue<Boolean> FullUnroll = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
102
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
103 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
104 public static final OptionValue<Boolean> LoopUnswitch = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
105
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
106 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
107 public static final OptionValue<Float> MinimumPeelProbability = new OptionValue<>(0.35f);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
108
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
109 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
110 public static final OptionValue<Integer> LoopMaxUnswitch = new OptionValue<>(3);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
111
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
112 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
113 public static final OptionValue<Boolean> UseLoopLimitChecks = new OptionValue<>(true);
5216
b64933dc4830 Peeling loop depending on their entry probability
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 5215
diff changeset
114
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
115 // debugging settings
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
116 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
117 public static final OptionValue<Boolean> ZapStackOnMethodEntry = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
118
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
119 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
120 public static final OptionValue<Boolean> DeoptALot = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
121
18825
bf382ef59838 Avoid using placeholder nodes when emitting explicit exceptions. Introduce StressExplictExceptionCode flag for debugging.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18699
diff changeset
122 @Option(help = "Stressed the code emitting explicit exception throwing code.", type = OptionType.Debug)
bf382ef59838 Avoid using placeholder nodes when emitting explicit exceptions. Introduce StressExplictExceptionCode flag for debugging.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18699
diff changeset
123 public static final StableOptionValue<Boolean> StressExplicitExceptionCode = new StableOptionValue<>(false);
bf382ef59838 Avoid using placeholder nodes when emitting explicit exceptions. Introduce StressExplictExceptionCode flag for debugging.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18699
diff changeset
124
21058
761be5b18c28 Add StressInvokeWithExceptionNode flag.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 20877
diff changeset
125 @Option(help = "Stressed the code emitting explicit exception throwing code.", type = OptionType.Debug)
761be5b18c28 Add StressInvokeWithExceptionNode flag.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 20877
diff changeset
126 public static final StableOptionValue<Boolean> StressInvokeWithExceptionNode = new StableOptionValue<>(false);
761be5b18c28 Add StressInvokeWithExceptionNode flag.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 20877
diff changeset
127
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
128 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
129 public static final OptionValue<Boolean> VerifyPhases = new OptionValue<>(false);
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
130
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
131 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
132 public static final OptionValue<String> PrintFilter = new OptionValue<>(null);
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
133
4357
719ac1d92a52 More work on debug framework.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 4353
diff changeset
134 // Debug settings:
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
135 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
136 public static final OptionValue<Boolean> BootstrapReplacements = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
137
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
138 @Option(help = "", type = OptionType.Debug)
10617
88fa00e79d4a Add GC counter for starting tracing of barriers
Christos Kotselidis <christos.kotselidis@oracle.com>
parents: 10512
diff changeset
139 public static final OptionValue<Integer> GCDebugStartCycle = new OptionValue<>(-1);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
140
18699
08b17b738500 Add hooks for verifying heap from generated code
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 18674
diff changeset
141 @Option(help = "Perform platform dependent validation of the Java heap at returns", type = OptionType.Debug)
08b17b738500 Add hooks for verifying heap from generated code
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 18674
diff changeset
142 public static final OptionValue<Boolean> VerifyHeapAtReturn = new OptionValue<>(false);
08b17b738500 Add hooks for verifying heap from generated code
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 18674
diff changeset
143
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
144 // Ideal graph visualizer output settings
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
145 @Option(help = "Dump IdealGraphVisualizer output in binary format", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
146 public static final OptionValue<Boolean> PrintBinaryGraphs = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
147
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
148 @Option(help = "Output probabilities for fixed nodes during binary graph dumping", type = OptionType.Debug)
10808
4278ab23c66f new Option PrintGraphProbabilities to output probabilities during binary graph dumping
Lukas Stadler <lukas.stadler@jku.at>
parents: 10769
diff changeset
149 public static final OptionValue<Boolean> PrintGraphProbabilities = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
150
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
151 @Option(help = "Enable dumping to the C1Visualizer. Enabling this option implies PrintBackendCFG.", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
152 public static final OptionValue<Boolean> PrintCFG = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
153
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
154 @Option(help = "Enable dumping LIR, register allocation and code generation info to the C1Visualizer.", type = OptionType.Debug)
11379
0942e34b6c7d added PrintBackendCFG option (default is true) for controlling if backend output is dumped to the C1Visualizer
Doug Simon <doug.simon@oracle.com>
parents: 11238
diff changeset
155 public static final OptionValue<Boolean> PrintBackendCFG = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
156
18886
9afe8fbe088c Add -G:[-/+]PrintIdealGraph option.
Josef Eisl <josef.eisl@jku.at>
parents: 18825
diff changeset
157 @Option(help = "Enable dumping to the IdealGraphVisualizer.", type = OptionType.Debug)
9afe8fbe088c Add -G:[-/+]PrintIdealGraph option.
Josef Eisl <josef.eisl@jku.at>
parents: 18825
diff changeset
158 public static final OptionValue<Boolean> PrintIdealGraph = new OptionValue<>(true);
9afe8fbe088c Add -G:[-/+]PrintIdealGraph option.
Josef Eisl <josef.eisl@jku.at>
parents: 18825
diff changeset
159
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
160 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
161 public static final OptionValue<Boolean> PrintIdealGraphFile = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
162
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
163 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
164 public static final OptionValue<String> PrintIdealGraphAddress = new OptionValue<>("127.0.0.1");
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
165
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
166 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
167 public static final OptionValue<Integer> PrintIdealGraphPort = new OptionValue<>(4444);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
168
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
169 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
170 public static final OptionValue<Integer> PrintBinaryGraphPort = new OptionValue<>(4445);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
171
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
172 @Option(help = "", type = OptionType.Debug)
16607
07de1d5d53ef make scheduling before dumping optional to speed up dumping
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 16399
diff changeset
173 public static final OptionValue<Boolean> PrintIdealGraphSchedule = new OptionValue<>(false);
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
174
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
175 // Other printing settings
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
176 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
177 public static final OptionValue<Boolean> PrintCompilation = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
178
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
179 @Option(help = "", type = OptionType.Debug)
11828
1d64bfb3f481 new PrintAfterCompilation option, simplify PrintCompilation output
Lukas Stadler <lukas.stadler@jku.at>
parents: 11491
diff changeset
180 public static final OptionValue<Boolean> PrintAfterCompilation = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
181
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
182 @Option(help = "Print profiling information when parsing a method's bytecode", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
183 public static final OptionValue<Boolean> PrintProfilingInformation = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
184
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
185 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
186 public static final OptionValue<Boolean> PrintCodeBytes = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
187
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
188 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
189 public static final OptionValue<Boolean> PrintBailout = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
190
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
191 @Option(help = "", type = OptionType.Debug)
19569
f4c5516ac919 Simplify PEA tracing.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 19512
diff changeset
192 public static final StableOptionValue<Boolean> TraceEscapeAnalysis = new StableOptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
193
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
194 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
195 public static final OptionValue<Boolean> ExitVMOnBailout = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
196
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
197 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
198 public static final OptionValue<Boolean> ExitVMOnException = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
199
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
200 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
201 public static final OptionValue<Boolean> PrintStackTraceOnException = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
202
8996
6d86ce1297bc GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining
twisti
parents: 8960
diff changeset
203 // HotSpot command line options
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
204 @Option(help = "Print inlining optimizations", type = OptionType.Debug)
9963
a76b46d8b231 Disabled printing of inlining decisions.
Christian Haeubl <haeubl@ssw.jku.at>
parents: 9962
diff changeset
205 public static final OptionValue<Boolean> HotSpotPrintInlining = new OptionValue<>(false);
8996
6d86ce1297bc GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining
twisti
parents: 8960
diff changeset
206
8222
7a81fbcd67bb Debug option to reduce available registers.
Roland Schatz <roland.schatz@oracle.com>
parents: 8129
diff changeset
207 // Register allocator debugging
20877
5d9bad7192f8 disable String.equals intrinsic if RegisterPressure is enabled
Doug Simon <doug.simon@oracle.com>
parents: 20068
diff changeset
208 @Option(help = "Comma separated list of registers that register allocation is limited to.", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
209 public static final OptionValue<String> RegisterPressure = new OptionValue<>(null);
8222
7a81fbcd67bb Debug option to reduce available registers.
Roland Schatz <roland.schatz@oracle.com>
parents: 8129
diff changeset
210
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
211 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
212 public static final OptionValue<Boolean> ConditionalElimination = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
213
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
214 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
215 public static final OptionValue<Boolean> UseProfilingInformation = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
216
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
217 @Option(help = "", type = OptionType.Debug)
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14707
diff changeset
218 public static final OptionValue<Boolean> RemoveNeverExecutedCode = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
219
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
220 @Option(help = "", type = OptionType.Debug)
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14707
diff changeset
221 public static final OptionValue<Boolean> UseExceptionProbability = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
222
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
223 @Option(help = "", type = OptionType.Debug)
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14707
diff changeset
224 public static final OptionValue<Boolean> UseExceptionProbabilityForOperations = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
225
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
226 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
227 public static final OptionValue<Boolean> OmitHotExceptionStacktrace = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
228
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
229 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
230 public static final OptionValue<Boolean> GenSafepoints = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
231
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
232 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
233 public static final OptionValue<Boolean> GenLoopSafepoints = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
234
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
235 @Option(help = "", type = OptionType.Debug)
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14707
diff changeset
236 public static final OptionValue<Boolean> UseTypeCheckHints = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
237
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
238 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
239 public static final OptionValue<Boolean> InlineVTableStubs = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
240
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
241 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
242 public static final OptionValue<Boolean> AlwaysInlineVTableStubs = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
243
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
244 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
245 public static final OptionValue<Boolean> ResolveClassBeforeStaticInvoke = new OptionValue<>(false);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
246
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
247 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
248 public static final OptionValue<Boolean> CanOmitFrame = new OptionValue<>(true);
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
249
10009
b5c87b5c6e9c add option to enable ahead of time compilation for hotspot (GRAAL-290)
Bernhard Urban <bernhard.urban@jku.at>
parents: 9992
diff changeset
250 // Ahead of time compilation
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
251 @Option(help = "Try to avoid emitting code where patching is required", type = OptionType.Expert)
13378
16d99e9d77ad Options: rename flag (AOTCompilation -> ImmutableCode)
Bernhard Urban <bernhard.urban@jku.at>
parents: 13370
diff changeset
252 public static final OptionValue<Boolean> ImmutableCode = new OptionValue<>(false);
10009
b5c87b5c6e9c add option to enable ahead of time compilation for hotspot (GRAAL-290)
Bernhard Urban <bernhard.urban@jku.at>
parents: 9992
diff changeset
253
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
254 @Option(help = "Generate position independent code", type = OptionType.Expert)
18660
e8634d0e6667 Added GeneratePIC flag
adlertz
parents: 18640
diff changeset
255 public static final OptionValue<Boolean> GeneratePIC = new OptionValue<>(false);
e8634d0e6667 Added GeneratePIC flag
adlertz
parents: 18640
diff changeset
256
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
257 @Option(help = "", type = OptionType.Expert)
13933
ebd2dfc2b780 use hotspot stubs for primitive arraycopy calls
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 13378
diff changeset
258 public static final OptionValue<Boolean> CallArrayCopy = new OptionValue<>(true);
ebd2dfc2b780 use hotspot stubs for primitive arraycopy calls
Tom Rodriguez <tom.rodriguez@oracle.com>
parents: 13378
diff changeset
259
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
260 // Runtime settings
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
261 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
262 public static final OptionValue<Boolean> SupportJsrBytecodes = new OptionValue<>(true);
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
263
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
264 @Option(help = "", type = OptionType.Expert)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
265 public static final OptionValue<Boolean> OptAssumptions = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
266
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
267 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
268 public static final OptionValue<Boolean> OptConvertDeoptsToGuards = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
269
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
270 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
271 public static final OptionValue<Boolean> OptReadElimination = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
272
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
273 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
274 public static final OptionValue<Boolean> OptCanonicalizer = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
275
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
276 @Option(help = "", type = OptionType.Debug)
13129
3a05ef752a40 Introduce option to disable deoptimization grouping
Christian Wimmer <christian.wimmer@oracle.com>
parents: 12775
diff changeset
277 public static final OptionValue<Boolean> OptDeoptimizationGrouping = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
278
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
279 @Option(help = "", type = OptionType.Debug)
13129
3a05ef752a40 Introduce option to disable deoptimization grouping
Christian Wimmer <christian.wimmer@oracle.com>
parents: 12775
diff changeset
280 public static final OptionValue<Boolean> OptScheduleOutOfLoops = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
281
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
282 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
283 public static final OptionValue<Boolean> OptEliminateGuards = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
284
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
285 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
286 public static final OptionValue<Boolean> OptImplicitNullChecks = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
287
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
288 @Option(help = "", type = OptionType.Debug)
21388
e4eae0fb72d0 Always do liveness analysis, but allow non-clearing of local variables; centralize omitAssertion code in bytecode parser
Christian Wimmer <christian.wimmer@oracle.com>
parents: 21216
diff changeset
289 public static final OptionValue<Boolean> OptClearNonLiveLocals = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
290
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
291 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
292 public static final OptionValue<Boolean> OptLoopTransform = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
293
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
294 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
295 public static final OptionValue<Boolean> OptFloatingReads = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
296
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
297 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
298 public static final OptionValue<Boolean> OptEliminatePartiallyRedundantGuards = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
299
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
300 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
301 public static final OptionValue<Boolean> OptFilterProfiledTypes = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
302
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
303 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
304 public static final OptionValue<Boolean> OptDevirtualizeInvokesOptimistically = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
305
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
306 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
307 public static final OptionValue<Boolean> OptPushThroughPi = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
308
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
309 @Option(help = "Allow backend to match complex expressions.", type = OptionType.Debug)
16314
f57cf459f5d3 [SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents: 14707
diff changeset
310 public static final OptionValue<Boolean> MatchExpressions = new OptionValue<>(true);
18640
02b5114b74c1 Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18507
diff changeset
311
21216
04339fd2c863 Create SSA LIR.
Josef Eisl <josef.eisl@jku.at>
parents: 21058
diff changeset
312 @Option(help = "Generate SSA LIR.", type = OptionType.Debug)
04339fd2c863 Create SSA LIR.
Josef Eisl <josef.eisl@jku.at>
parents: 21058
diff changeset
313 public static final OptionValue<Boolean> SSA_LIR = new OptionValue<>(false);
04339fd2c863 Create SSA LIR.
Josef Eisl <josef.eisl@jku.at>
parents: 21058
diff changeset
314
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
315 /**
5772
2f7a03583a32 added counters for code paths through the new object snippets
Doug Simon <doug.simon@oracle.com>
parents: 5760
diff changeset
316 * Counts the various paths taken through snippets.
5330
678f31e9724e added -G:+CheckcastCounters to profile the paths taken through a compiled checkcast
Doug Simon <doug.simon@oracle.com>
parents: 5319
diff changeset
317 */
18674
ecb9d0cedbab First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 18660
diff changeset
318 @Option(help = "", type = OptionType.Debug)
9914
84890660eefb cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents: 9912
diff changeset
319 public static final OptionValue<Boolean> SnippetCounters = new OptionValue<>(false);
19163
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
320
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
321 @Option(help = "Enable expensive assertions", type = OptionType.Debug)
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
322 public static final OptionValue<Boolean> DetailedAsserts = new StableOptionValue<Boolean>() {
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
323 @Override
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
324 protected Boolean initialValue() {
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
325 boolean enabled = false;
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
326 // turn detailed assertions on when the general assertions are on (misusing the assert keyword for this)
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
327 assert (enabled = true) == true;
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
328 return enabled;
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
329 }
0751ebc54c13 Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents: 18940
diff changeset
330 };
3733
e233f5660da4 Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff changeset
331 }