comparison src/share/vm/c1/c1_globals.hpp @ 1930:2d26b0046e0d

Merge.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Tue, 30 Nov 2010 14:53:30 +0100
parents 7cf1952ec5fb 42a10fc37986
children 8d88c9ac9247
comparison
equal deleted inserted replaced
1484:6b7001391c97 1930:2d26b0046e0d
1 /* 1 /*
2 * Copyright 2000-2010 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 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 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
14 * 14 *
15 * You should have received a copy of the GNU General Public License version 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, 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. 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 * 18 *
19 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * CA 95054 USA or visit www.sun.com if you need additional information or 20 * or visit www.oracle.com if you need additional information or have any
21 * have any questions. 21 * questions.
22 * 22 *
23 */ 23 */
24 24
25 // 25 //
26 // Defines all global flags used by the client compiler. 26 // Defines all global flags used by the client compiler.
27 // 27 //
28 #ifndef TIERED
29 #define NOT_TIERED(x) x
30 #else
31 #define NOT_TIERED(x)
32 #endif
33
34 #define C1_FLAGS(develop, develop_pd, product, product_pd, notproduct) \ 28 #define C1_FLAGS(develop, develop_pd, product, product_pd, notproduct) \
35 \ 29 \
36 product(bool, UseC1X, false, \ 30 product(bool, UseC1X, false, \
37 "Use C1X instead of C1") \ 31 "Use C1X instead of C1") \
38 product(bool, BootstrapC1X, false, \ 32 product(bool, BootstrapC1X, false, \
85 "Turn on C1 optimizations") \ 79 "Turn on C1 optimizations") \
86 \ 80 \
87 develop(bool, SelectivePhiFunctions, true, \ 81 develop(bool, SelectivePhiFunctions, true, \
88 "create phi functions at loop headers only when necessary") \ 82 "create phi functions at loop headers only when necessary") \
89 \ 83 \
84 develop(bool, OptimizeIfOps, true, \
85 "Optimize multiple IfOps") \
86 \
90 develop(bool, DoCEE, true, \ 87 develop(bool, DoCEE, true, \
91 "Do Conditional Expression Elimination to simplify CFG") \ 88 "Do Conditional Expression Elimination to simplify CFG") \
92 \ 89 \
93 develop(bool, PrintCEE, false, \ 90 develop(bool, PrintCEE, false, \
94 "Print Conditional Expression Elimination") \ 91 "Print Conditional Expression Elimination") \
226 "Generates code for array store checks") \ 223 "Generates code for array store checks") \
227 \ 224 \
228 develop(bool, DeoptC1, true, \ 225 develop(bool, DeoptC1, true, \
229 "Use deoptimization in C1") \ 226 "Use deoptimization in C1") \
230 \ 227 \
231 develop(bool, DeoptOnAsyncException, true, \
232 "Deoptimize upon Thread.stop(); improves precision of IR") \
233 \
234 develop(bool, PrintBailouts, false, \ 228 develop(bool, PrintBailouts, false, \
235 "Print bailout and its reason") \ 229 "Print bailout and its reason") \
236 \ 230 \
237 develop(bool, TracePatching, false, \ 231 develop(bool, TracePatching, false, \
238 "Trace patching of field access on uninitialized classes") \ 232 "Trace patching of field access on uninitialized classes") \
283 "If GraphBuilder adds this many instructions, bails out") \ 277 "If GraphBuilder adds this many instructions, bails out") \
284 \ 278 \
285 product_pd(intx, SafepointPollOffset, \ 279 product_pd(intx, SafepointPollOffset, \
286 "Offset added to polling address (Intel only)") \ 280 "Offset added to polling address (Intel only)") \
287 \ 281 \
288 product(bool, UseNewFeature1, false, \
289 "Enable new feature for testing. This is a dummy flag.") \
290 \
291 product(bool, UseNewFeature2, false, \
292 "Enable new feature for testing. This is a dummy flag.") \
293 \
294 product(bool, UseNewFeature3, false, \
295 "Enable new feature for testing. This is a dummy flag.") \
296 \
297 product(bool, UseNewFeature4, false, \
298 "Enable new feature for testing. This is a dummy flag.") \
299 \
300 develop(bool, ComputeExactFPURegisterUsage, true, \ 282 develop(bool, ComputeExactFPURegisterUsage, true, \
301 "Compute additional live set for fpu registers to simplify fpu stack merge (Intel only)") \ 283 "Compute additional live set for fpu registers to simplify fpu stack merge (Intel only)") \
302 \ 284 \
303 product(bool, Tier1ProfileCalls, true, \ 285 product(bool, C1ProfileCalls, true, \
304 "Profile calls when generating code for updating MDOs") \ 286 "Profile calls when generating code for updating MDOs") \
305 \ 287 \
306 product(bool, Tier1ProfileVirtualCalls, true, \ 288 product(bool, C1ProfileVirtualCalls, true, \
307 "Profile virtual calls when generating code for updating MDOs") \ 289 "Profile virtual calls when generating code for updating MDOs") \
308 \ 290 \
309 product(bool, Tier1ProfileInlinedCalls, true, \ 291 product(bool, C1ProfileInlinedCalls, true, \
310 "Profile inlined calls when generating code for updating MDOs") \ 292 "Profile inlined calls when generating code for updating MDOs") \
311 \ 293 \
312 product(bool, Tier1ProfileBranches, true, \ 294 product(bool, C1ProfileBranches, true, \
313 "Profile branches when generating code for updating MDOs") \ 295 "Profile branches when generating code for updating MDOs") \
314 \ 296 \
315 product(bool, Tier1ProfileCheckcasts, true, \ 297 product(bool, C1ProfileCheckcasts, true, \
316 "Profile checkcasts when generating code for updating MDOs") \ 298 "Profile checkcasts when generating code for updating MDOs") \
317 \ 299 \
318 product(bool, Tier1OptimizeVirtualCallProfiling, true, \ 300 product(bool, C1OptimizeVirtualCallProfiling, true, \
319 "Use CHA and exact type results at call sites when updating MDOs") \ 301 "Use CHA and exact type results at call sites when updating MDOs")\
320 \ 302 \
321 develop(bool, Tier1CountOnly, false, \ 303 product(bool, C1UpdateMethodData, trueInTiered, \
322 "Don't schedule tier 2 compiles. Enter VM only") \ 304 "Update methodDataOops in Tier1-generated code") \
323 \ 305 \
324 develop(bool, PrintCFGToFile, false, \ 306 develop(bool, PrintCFGToFile, false, \
325 "print control flow graph to a separate file during compilation") \ 307 "print control flow graph to a separate file during compilation") \
326 \ 308 \
327 309