Mercurial > hg > graal-jvmci-8
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 |