Mercurial > hg > truffle
annotate src/share/vm/c1/c1_globals.hpp @ 4710:41406797186b
7113012: G1: rename not-fully-young GCs as "mixed"
Summary: Renamed partially-young GCs as mixed and fully-young GCs as young. Change all external output that includes those terms (GC log and GC ergo log) as well as any comments, fields, methods, etc. The changeset also includes very minor code tidying up (added some curly brackets).
Reviewed-by: johnc, brutisso
author | tonyp |
---|---|
date | Fri, 16 Dec 2011 02:14:27 -0500 |
parents | f08d439fab8c |
children | 04b9a2566eec a5dd6e3ef9f3 |
rev | line source |
---|---|
0 | 1 /* |
2426
1d1603768966
7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
trims
parents:
2192
diff
changeset
|
2 * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. |
0 | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | |
5 * This code is free software; you can redistribute it and/or modify it | |
6 * under the terms of the GNU General Public License version 2 only, as | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | |
14 * | |
15 * You should have received a copy of the GNU General Public License version | |
16 * 2 along with this work; if not, write to the Free Software Foundation, | |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
18 * | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1397
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1397
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1397
diff
changeset
|
21 * questions. |
0 | 22 * |
23 */ | |
24 | |
1972 | 25 #ifndef SHARE_VM_C1_C1_GLOBALS_HPP |
26 #define SHARE_VM_C1_C1_GLOBALS_HPP | |
27 | |
28 #include "runtime/globals.hpp" | |
29 #ifdef TARGET_ARCH_x86 | |
30 # include "c1_globals_x86.hpp" | |
31 #endif | |
32 #ifdef TARGET_ARCH_sparc | |
33 # include "c1_globals_sparc.hpp" | |
34 #endif | |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
35 #ifdef TARGET_ARCH_arm |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
36 # include "c1_globals_arm.hpp" |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
37 #endif |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
38 #ifdef TARGET_ARCH_ppc |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
39 # include "c1_globals_ppc.hpp" |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
40 #endif |
1972 | 41 #ifdef TARGET_OS_FAMILY_linux |
42 # include "c1_globals_linux.hpp" | |
43 #endif | |
44 #ifdef TARGET_OS_FAMILY_solaris | |
45 # include "c1_globals_solaris.hpp" | |
46 #endif | |
47 #ifdef TARGET_OS_FAMILY_windows | |
48 # include "c1_globals_windows.hpp" | |
49 #endif | |
3960 | 50 #ifdef TARGET_OS_FAMILY_bsd |
51 # include "c1_globals_bsd.hpp" | |
52 #endif | |
1972 | 53 |
0 | 54 // |
55 // Defines all global flags used by the client compiler. | |
56 // | |
57 #define C1_FLAGS(develop, develop_pd, product, product_pd, notproduct) \ | |
58 \ | |
59 /* Printing */ \ | |
60 notproduct(bool, PrintC1Statistics, false, \ | |
61 "Print Compiler1 statistics" ) \ | |
62 \ | |
63 notproduct(bool, PrintInitialBlockList, false, \ | |
64 "Print block list of BlockListBuilder") \ | |
65 \ | |
66 notproduct(bool, PrintCFG, false, \ | |
67 "Print control flow graph after each change") \ | |
68 \ | |
69 notproduct(bool, PrintCFG0, false, \ | |
70 "Print control flow graph after construction") \ | |
71 \ | |
72 notproduct(bool, PrintCFG1, false, \ | |
73 "Print control flow graph after optimizations") \ | |
74 \ | |
75 notproduct(bool, PrintCFG2, false, \ | |
76 "Print control flow graph before code generation") \ | |
77 \ | |
78 notproduct(bool, PrintIRDuringConstruction, false, \ | |
79 "Print IR as it's being constructed (helpful for debugging frontend)")\ | |
80 \ | |
1783 | 81 notproduct(bool, PrintPhiFunctions, false, \ |
0 | 82 "Print phi functions when they are created and simplified") \ |
83 \ | |
84 notproduct(bool, PrintIR, false, \ | |
85 "Print full intermediate representation after each change") \ | |
86 \ | |
87 notproduct(bool, PrintIR0, false, \ | |
88 "Print full intermediate representation after construction") \ | |
89 \ | |
90 notproduct(bool, PrintIR1, false, \ | |
91 "Print full intermediate representation after optimizations") \ | |
92 \ | |
93 notproduct(bool, PrintIR2, false, \ | |
94 "Print full intermediate representation before code generation") \ | |
95 \ | |
96 notproduct(bool, PrintSimpleStubs, false, \ | |
97 "Print SimpleStubs") \ | |
98 \ | |
99 /* C1 optimizations */ \ | |
100 \ | |
101 develop(bool, UseC1Optimizations, true, \ | |
102 "Turn on C1 optimizations") \ | |
103 \ | |
104 develop(bool, SelectivePhiFunctions, true, \ | |
105 "create phi functions at loop headers only when necessary") \ | |
106 \ | |
1899 | 107 develop(bool, OptimizeIfOps, true, \ |
108 "Optimize multiple IfOps") \ | |
109 \ | |
0 | 110 develop(bool, DoCEE, true, \ |
111 "Do Conditional Expression Elimination to simplify CFG") \ | |
112 \ | |
113 develop(bool, PrintCEE, false, \ | |
114 "Print Conditional Expression Elimination") \ | |
115 \ | |
116 develop(bool, UseLocalValueNumbering, true, \ | |
117 "Use Local Value Numbering (embedded in GraphBuilder)") \ | |
118 \ | |
119 develop(bool, UseGlobalValueNumbering, true, \ | |
120 "Use Global Value Numbering (separate phase)") \ | |
121 \ | |
122 develop(bool, PrintValueNumbering, false, \ | |
123 "Print Value Numbering") \ | |
124 \ | |
125 product(intx, ValueMapInitialSize, 11, \ | |
126 "Initial size of a value map") \ | |
127 \ | |
128 product(intx, ValueMapMaxLoopSize, 8, \ | |
129 "maximum size of a loop optimized by global value numbering") \ | |
130 \ | |
131 develop(bool, EliminateBlocks, true, \ | |
132 "Eliminate unneccessary basic blocks") \ | |
133 \ | |
134 develop(bool, PrintBlockElimination, false, \ | |
135 "Print basic block elimination") \ | |
136 \ | |
137 develop(bool, EliminateNullChecks, true, \ | |
138 "Eliminate unneccessary null checks") \ | |
139 \ | |
140 develop(bool, PrintNullCheckElimination, false, \ | |
141 "Print null check elimination") \ | |
142 \ | |
143 develop(bool, EliminateFieldAccess, true, \ | |
144 "Optimize field loads and stores") \ | |
145 \ | |
146 develop(bool, InlineMethodsWithExceptionHandlers, true, \ | |
147 "Inline methods containing exception handlers " \ | |
148 "(NOTE: does not work with current backend)") \ | |
149 \ | |
150 develop(bool, InlineSynchronizedMethods, true, \ | |
151 "Inline synchronized methods") \ | |
152 \ | |
153 develop(bool, InlineNIOCheckIndex, true, \ | |
154 "Intrinsify java.nio.Buffer.checkIndex") \ | |
155 \ | |
156 develop(bool, CanonicalizeNodes, true, \ | |
157 "Canonicalize graph nodes") \ | |
158 \ | |
159 develop(bool, CanonicalizeExperimental, false, \ | |
160 "Canonicalize graph nodes, experimental code") \ | |
161 \ | |
162 develop(bool, PrintCanonicalization, false, \ | |
163 "Print graph node canonicalization") \ | |
164 \ | |
165 develop(bool, UseTableRanges, true, \ | |
166 "Faster versions of lookup table using ranges") \ | |
167 \ | |
168 develop(bool, UseFastExceptionHandling, true, \ | |
169 "Faster handling of exceptions") \ | |
170 \ | |
171 develop_pd(bool, RoundFPResults, \ | |
172 "Indicates whether rounding is needed for floating point results")\ | |
173 \ | |
174 develop(intx, NestedInliningSizeRatio, 90, \ | |
175 "Percentage of prev. allowed inline size in recursive inlining") \ | |
176 \ | |
177 notproduct(bool, PrintIRWithLIR, false, \ | |
178 "Print IR instructions with generated LIR") \ | |
179 \ | |
180 notproduct(bool, PrintLIRWithAssembly, false, \ | |
181 "Show LIR instruction with generated assembly") \ | |
182 \ | |
183 develop(bool, CommentedAssembly, trueInDebug, \ | |
184 "Show extra info in PrintNMethods output") \ | |
185 \ | |
186 develop(bool, LIRTracePeephole, false, \ | |
187 "Trace peephole optimizer") \ | |
188 \ | |
189 develop(bool, LIRTraceExecution, false, \ | |
190 "add LIR code which logs the execution of blocks") \ | |
191 \ | |
192 product_pd(bool, LIRFillDelaySlots, \ | |
193 "fill delays on on SPARC with LIR") \ | |
194 \ | |
195 develop_pd(bool, CSEArrayLength, \ | |
196 "Create separate nodes for length in array accesses") \ | |
197 \ | |
198 develop_pd(bool, TwoOperandLIRForm, \ | |
199 "true if LIR requires src1 and dst to match in binary LIR ops") \ | |
200 \ | |
201 develop(intx, TraceLinearScanLevel, 0, \ | |
202 "Debug levels for the linear scan allocator") \ | |
203 \ | |
204 develop(bool, StressLinearScan, false, \ | |
205 "scramble block order used by LinearScan (stress test)") \ | |
206 \ | |
207 product(bool, TimeLinearScan, false, \ | |
208 "detailed timing of LinearScan phases") \ | |
209 \ | |
210 develop(bool, TimeEachLinearScan, false, \ | |
211 "print detailed timing of each LinearScan run") \ | |
212 \ | |
213 develop(bool, CountLinearScan, false, \ | |
214 "collect statistic counters during LinearScan") \ | |
215 \ | |
216 /* C1 variable */ \ | |
217 \ | |
218 develop(bool, C1Breakpoint, false, \ | |
219 "Sets a breakpoint at entry of each compiled method") \ | |
220 \ | |
221 develop(bool, ImplicitDiv0Checks, true, \ | |
222 "Use implicit division by zero checks") \ | |
223 \ | |
224 develop(bool, PinAllInstructions, false, \ | |
225 "All instructions are pinned") \ | |
226 \ | |
227 develop(bool, ValueStackPinStackAll, true, \ | |
228 "Pinning in ValueStack pin everything") \ | |
229 \ | |
230 develop(bool, UseFastNewInstance, true, \ | |
231 "Use fast inlined instance allocation") \ | |
232 \ | |
233 develop(bool, UseFastNewTypeArray, true, \ | |
234 "Use fast inlined type array allocation") \ | |
235 \ | |
236 develop(bool, UseFastNewObjectArray, true, \ | |
237 "Use fast inlined object array allocation") \ | |
238 \ | |
239 develop(bool, UseFastLocking, true, \ | |
240 "Use fast inlined locking code") \ | |
241 \ | |
242 develop(bool, UseSlowPath, false, \ | |
243 "For debugging: test slow cases by always using them") \ | |
244 \ | |
245 develop(bool, GenerateArrayStoreCheck, true, \ | |
246 "Generates code for array store checks") \ | |
247 \ | |
248 develop(bool, DeoptC1, true, \ | |
249 "Use deoptimization in C1") \ | |
250 \ | |
251 develop(bool, PrintBailouts, false, \ | |
252 "Print bailout and its reason") \ | |
253 \ | |
254 develop(bool, TracePatching, false, \ | |
255 "Trace patching of field access on uninitialized classes") \ | |
256 \ | |
257 develop(bool, PatchALot, false, \ | |
258 "Marks all fields as having unloaded classes") \ | |
259 \ | |
260 develop(bool, PrintNotLoaded, false, \ | |
261 "Prints where classes are not loaded during code generation") \ | |
262 \ | |
263 notproduct(bool, VerifyOopMaps, false, \ | |
264 "Adds oopmap verification code to the generated code") \ | |
265 \ | |
266 develop(bool, PrintLIR, false, \ | |
267 "print low-level IR") \ | |
268 \ | |
269 develop(bool, BailoutAfterHIR, false, \ | |
270 "bailout of compilation after building of HIR") \ | |
271 \ | |
272 develop(bool, BailoutAfterLIR, false, \ | |
273 "bailout of compilation after building of LIR") \ | |
274 \ | |
275 develop(bool, BailoutOnExceptionHandlers, false, \ | |
276 "bailout of compilation for methods with exception handlers") \ | |
277 \ | |
278 develop(bool, InstallMethods, true, \ | |
279 "Install methods at the end of successful compilations") \ | |
280 \ | |
281 product(intx, CompilationRepeat, 0, \ | |
282 "Number of times to recompile method before returning result") \ | |
283 \ | |
3896
b346f13112d8
7085279: C1 overflows code buffer with VerifyOops and CompressedOops
iveresov
parents:
2426
diff
changeset
|
284 develop(intx, NMethodSizeLimit, (64*K)*wordSize, \ |
0 | 285 "Maximum size of a compiled method.") \ |
286 \ | |
287 develop(bool, TraceFPUStack, false, \ | |
288 "Trace emulation of the FPU stack (intel only)") \ | |
289 \ | |
290 develop(bool, TraceFPURegisterUsage, false, \ | |
291 "Trace usage of FPU registers at start of blocks (intel only)") \ | |
292 \ | |
293 develop(bool, OptimizeUnsafes, true, \ | |
294 "Optimize raw unsafe ops") \ | |
295 \ | |
296 develop(bool, PrintUnsafeOptimization, false, \ | |
297 "Print optimization of raw unsafe ops") \ | |
298 \ | |
299 develop(intx, InstructionCountCutoff, 37000, \ | |
300 "If GraphBuilder adds this many instructions, bails out") \ | |
301 \ | |
302 product_pd(intx, SafepointPollOffset, \ | |
303 "Offset added to polling address (Intel only)") \ | |
304 \ | |
305 develop(bool, ComputeExactFPURegisterUsage, true, \ | |
306 "Compute additional live set for fpu registers to simplify fpu stack merge (Intel only)") \ | |
307 \ | |
1783 | 308 product(bool, C1ProfileCalls, true, \ |
0 | 309 "Profile calls when generating code for updating MDOs") \ |
310 \ | |
1783 | 311 product(bool, C1ProfileVirtualCalls, true, \ |
0 | 312 "Profile virtual calls when generating code for updating MDOs") \ |
313 \ | |
1783 | 314 product(bool, C1ProfileInlinedCalls, true, \ |
0 | 315 "Profile inlined calls when generating code for updating MDOs") \ |
316 \ | |
1783 | 317 product(bool, C1ProfileBranches, true, \ |
0 | 318 "Profile branches when generating code for updating MDOs") \ |
319 \ | |
1783 | 320 product(bool, C1ProfileCheckcasts, true, \ |
0 | 321 "Profile checkcasts when generating code for updating MDOs") \ |
322 \ | |
1783 | 323 product(bool, C1OptimizeVirtualCallProfiling, true, \ |
324 "Use CHA and exact type results at call sites when updating MDOs")\ | |
0 | 325 \ |
1783 | 326 product(bool, C1UpdateMethodData, trueInTiered, \ |
327 "Update methodDataOops in Tier1-generated code") \ | |
0 | 328 \ |
329 develop(bool, PrintCFGToFile, false, \ | |
330 "print control flow graph to a separate file during compilation") \ | |
331 \ | |
332 | |
333 | |
334 // Read default values for c1 globals | |
335 | |
336 C1_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_NOTPRODUCT_FLAG) | |
1972 | 337 |
338 #endif // SHARE_VM_C1_C1_GLOBALS_HPP |