1 /*
2 * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
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 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 //
26 // Defines all globals flags used by the server compiler.
27 //
28
29 #define C2_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct) \
30 \
31 notproduct(intx, CompileZapFirst, 0, \
32 "If +ZapDeadCompiledLocals, " \
33 "skip this many before compiling in zap calls") \
34 \
35 notproduct(intx, CompileZapLast, -1, \
36 "If +ZapDeadCompiledLocals, " \
37 "compile this many after skipping (incl. skip count, -1 = all)") \
38 \
39 notproduct(intx, ZapDeadCompiledLocalsFirst, 0, \
40 "If +ZapDeadCompiledLocals, " \
41 "skip this many before really doing it") \
42 \
43 notproduct(intx, ZapDeadCompiledLocalsLast, -1, \
44 "If +ZapDeadCompiledLocals, " \
421 product(intx, ValueSearchLimit, 1000, \
422 "Recursion limit in PhaseMacroExpand::value_from_mem_phi") \
423 \
424 product(intx, MaxLabelRootDepth, 1100, \
425 "Maximum times call Label_Root to prevent stack overflow") \
426 \
427 diagnostic(intx, DominatorSearchLimit, 1000, \
428 "Iterations limit in Node::dominates") \
429 \
430 product(bool, BlockLayoutByFrequency, true, \
431 "Use edge frequencies to drive block ordering") \
432 \
433 product(intx, BlockLayoutMinDiamondPercentage, 20, \
434 "Miniumum %% of a successor (predecessor) for which block layout "\
435 "a will allow a fork (join) in a single chain") \
436 \
437 product(bool, BlockLayoutRotateLoops, true, \
438 "Allow back branches to be fall throughs in the block layour") \
439
440 C2_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG)
|
1 /*
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.
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 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_OPTO_C2_GLOBALS_HPP
26 #define SHARE_VM_OPTO_C2_GLOBALS_HPP
27
28 #include "runtime/globals.hpp"
29 #ifdef TARGET_ARCH_x86
30 # include "c2_globals_x86.hpp"
31 #endif
32 #ifdef TARGET_ARCH_sparc
33 # include "c2_globals_sparc.hpp"
34 #endif
35 #ifdef TARGET_OS_FAMILY_linux
36 # include "c2_globals_linux.hpp"
37 #endif
38 #ifdef TARGET_OS_FAMILY_solaris
39 # include "c2_globals_solaris.hpp"
40 #endif
41 #ifdef TARGET_OS_FAMILY_windows
42 # include "c2_globals_windows.hpp"
43 #endif
44
45 //
46 // Defines all globals flags used by the server compiler.
47 //
48
49 #define C2_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct) \
50 \
51 notproduct(intx, CompileZapFirst, 0, \
52 "If +ZapDeadCompiledLocals, " \
53 "skip this many before compiling in zap calls") \
54 \
55 notproduct(intx, CompileZapLast, -1, \
56 "If +ZapDeadCompiledLocals, " \
57 "compile this many after skipping (incl. skip count, -1 = all)") \
58 \
59 notproduct(intx, ZapDeadCompiledLocalsFirst, 0, \
60 "If +ZapDeadCompiledLocals, " \
61 "skip this many before really doing it") \
62 \
63 notproduct(intx, ZapDeadCompiledLocalsLast, -1, \
64 "If +ZapDeadCompiledLocals, " \
441 product(intx, ValueSearchLimit, 1000, \
442 "Recursion limit in PhaseMacroExpand::value_from_mem_phi") \
443 \
444 product(intx, MaxLabelRootDepth, 1100, \
445 "Maximum times call Label_Root to prevent stack overflow") \
446 \
447 diagnostic(intx, DominatorSearchLimit, 1000, \
448 "Iterations limit in Node::dominates") \
449 \
450 product(bool, BlockLayoutByFrequency, true, \
451 "Use edge frequencies to drive block ordering") \
452 \
453 product(intx, BlockLayoutMinDiamondPercentage, 20, \
454 "Miniumum %% of a successor (predecessor) for which block layout "\
455 "a will allow a fork (join) in a single chain") \
456 \
457 product(bool, BlockLayoutRotateLoops, true, \
458 "Allow back branches to be fall throughs in the block layour") \
459
460 C2_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG)
461
462 #endif // SHARE_VM_OPTO_C2_GLOBALS_HPP
|