Mercurial > hg > truffle
annotate graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/GraalOptions.java @ 21916:3df76a0300f3
jvmci.make remove generated source from search path; export compilers into a different directory when jvmci is disabled: jre/lib/<arch>/(server|client)-nojvmci/
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Thu, 11 Jun 2015 11:07:28 +0200 |
parents | 3d15183f3c93 |
children |
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 |
21554
b1530a6cce8c
renamed com.oracle.graal.[debug|options|hotspotvmconfig]* modules to com.oracle.jvmci.[debug|options|hotspotvmconfig]* modules (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21542
diff
changeset
|
25 import com.oracle.jvmci.options.*; |
9864
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 | 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 |
4357
719ac1d92a52
More work on debug framework.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
4353
diff
changeset
|
131 // Debug settings: |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
132 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
133 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
|
134 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
135 @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
|
136 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
|
137 |
18699
08b17b738500
Add hooks for verifying heap from generated code
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
18674
diff
changeset
|
138 @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
|
139 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
|
140 |
3733
e233f5660da4
Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
141 // Ideal graph visualizer output settings |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
142 @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
|
143 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
|
144 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
145 @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
|
146 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
|
147 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
148 @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
|
149 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
|
150 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
151 @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
|
152 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
|
153 |
18886
9afe8fbe088c
Add -G:[-/+]PrintIdealGraph option.
Josef Eisl <josef.eisl@jku.at>
parents:
18825
diff
changeset
|
154 @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
|
155 public static final OptionValue<Boolean> PrintIdealGraph = new OptionValue<>(true); |
9afe8fbe088c
Add -G:[-/+]PrintIdealGraph option.
Josef Eisl <josef.eisl@jku.at>
parents:
18825
diff
changeset
|
156 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
157 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
158 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
|
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<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
|
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<Integer> PrintIdealGraphPort = new OptionValue<>(4444); |
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> PrintBinaryGraphPort = new OptionValue<>(4445); |
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) |
16607
07de1d5d53ef
make scheduling before dumping optional to speed up dumping
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
16399
diff
changeset
|
170 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
|
171 |
e233f5660da4
Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
172 // Other printing settings |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
173 @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
|
174 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
|
175 |
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> PrintCodeBytes = new OptionValue<>(false); |
18640
02b5114b74c1
Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18507
diff
changeset
|
178 |
02b5114b74c1
Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18507
diff
changeset
|
179 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
180 @Option(help = "", type = OptionType.Debug) |
19569
f4c5516ac919
Simplify PEA tracing.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
19512
diff
changeset
|
181 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
|
182 |
8996
6d86ce1297bc
GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining
twisti
parents:
8960
diff
changeset
|
183 // HotSpot command line options |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
184 @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
|
185 public static final OptionValue<Boolean> HotSpotPrintInlining = new OptionValue<>(false); |
8996
6d86ce1297bc
GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining
twisti
parents:
8960
diff
changeset
|
186 |
8222
7a81fbcd67bb
Debug option to reduce available registers.
Roland Schatz <roland.schatz@oracle.com>
parents:
8129
diff
changeset
|
187 // Register allocator debugging |
20877
5d9bad7192f8
disable String.equals intrinsic if RegisterPressure is enabled
Doug Simon <doug.simon@oracle.com>
parents:
20068
diff
changeset
|
188 @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
|
189 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
|
190 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
191 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
192 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
|
193 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
194 @Option(help = "", type = OptionType.Debug) |
16314
f57cf459f5d3
[SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents:
14707
diff
changeset
|
195 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
|
196 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
197 @Option(help = "", type = OptionType.Debug) |
16314
f57cf459f5d3
[SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents:
14707
diff
changeset
|
198 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
|
199 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
200 @Option(help = "", type = OptionType.Debug) |
16314
f57cf459f5d3
[SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents:
14707
diff
changeset
|
201 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
|
202 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
203 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
204 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
|
205 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
206 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
207 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
|
208 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
209 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
210 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
|
211 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
212 @Option(help = "", type = OptionType.Debug) |
16314
f57cf459f5d3
[SPARC] Adding deoptimization handler foreign call
Stefan Anzinger <stefan.anzinger@gmail.com>
parents:
14707
diff
changeset
|
213 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
|
214 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
215 @Option(help = "", type = OptionType.Expert) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
216 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
|
217 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
218 @Option(help = "", type = OptionType.Expert) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
219 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
|
220 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
221 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
222 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
|
223 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
224 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
225 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
|
226 |
10009
b5c87b5c6e9c
add option to enable ahead of time compilation for hotspot (GRAAL-290)
Bernhard Urban <bernhard.urban@jku.at>
parents:
9992
diff
changeset
|
227 // Ahead of time compilation |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
228 @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
|
229 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
|
230 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
231 @Option(help = "Generate position independent code", type = OptionType.Expert) |
18660 | 232 public static final OptionValue<Boolean> GeneratePIC = new OptionValue<>(false); |
233 | |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
234 @Option(help = "", type = OptionType.Expert) |
13933
ebd2dfc2b780
use hotspot stubs for primitive arraycopy calls
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
13378
diff
changeset
|
235 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
|
236 |
3733
e233f5660da4
Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
237 // Runtime settings |
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> SupportJsrBytecodes = new OptionValue<>(true); |
3733
e233f5660da4
Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
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> OptAssumptions = new OptionValue<>(true); |
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> OptConvertDeoptsToGuards = new OptionValue<>(true); |
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> OptReadElimination = new OptionValue<>(true); |
18640
02b5114b74c1
Started consolidation of options. Added descriptions.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18507
diff
changeset
|
249 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
250 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
251 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
|
252 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
253 @Option(help = "", type = OptionType.Debug) |
13129
3a05ef752a40
Introduce option to disable deoptimization grouping
Christian Wimmer <christian.wimmer@oracle.com>
parents:
12775
diff
changeset
|
254 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
|
255 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
256 @Option(help = "", type = OptionType.Debug) |
13129
3a05ef752a40
Introduce option to disable deoptimization grouping
Christian Wimmer <christian.wimmer@oracle.com>
parents:
12775
diff
changeset
|
257 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
|
258 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
259 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
260 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
|
261 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
262 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
263 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
|
264 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
265 @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
|
266 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
|
267 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
268 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
269 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
|
270 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
271 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
272 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
|
273 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
274 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
275 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
|
276 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
277 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
278 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
|
279 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
280 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
281 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
|
282 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
283 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
284 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
|
285 |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
286 @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
|
287 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
|
288 |
21216 | 289 @Option(help = "Generate SSA LIR.", type = OptionType.Debug) |
290 public static final OptionValue<Boolean> SSA_LIR = new OptionValue<>(false); | |
291 | |
3733
e233f5660da4
Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
292 /** |
5772
2f7a03583a32
added counters for code paths through the new object snippets
Doug Simon <doug.simon@oracle.com>
parents:
5760
diff
changeset
|
293 * 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
|
294 */ |
18674
ecb9d0cedbab
First draft of option classification.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18660
diff
changeset
|
295 @Option(help = "", type = OptionType.Debug) |
9914
84890660eefb
cleaner implementation of stable options
Doug Simon <doug.simon@oracle.com>
parents:
9912
diff
changeset
|
296 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
|
297 |
0751ebc54c13
Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents:
18940
diff
changeset
|
298 @Option(help = "Enable expensive assertions", type = OptionType.Debug) |
0751ebc54c13
Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents:
18940
diff
changeset
|
299 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
|
300 @Override |
21519
cecb4e39521c
Use files in lib/graal/options to define Graal options (-G:...) instead of generating code for them
Gilles Duboscq <gilles.m.duboscq@oracle.com>
parents:
21216
diff
changeset
|
301 protected Boolean defaultValue() { |
19163
0751ebc54c13
Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents:
18940
diff
changeset
|
302 boolean enabled = false; |
0751ebc54c13
Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents:
18940
diff
changeset
|
303 // 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
|
304 assert (enabled = true) == true; |
0751ebc54c13
Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents:
18940
diff
changeset
|
305 return enabled; |
0751ebc54c13
Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents:
18940
diff
changeset
|
306 } |
0751ebc54c13
Move DetailedAsserts Option to GraalOptions.
Josef Eisl <josef.eisl@jku.at>
parents:
18940
diff
changeset
|
307 }; |
3733
e233f5660da4
Added Java files from Maxine project.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
308 } |