annotate src/share/vm/graal/graalGlobals.hpp @ 16624:c9284d733aa1

made -XX:+UseGraalClassLoader the default (now that truffle.jar is on the boot class path)
author Doug Simon <doug.simon@oracle.com>
date Wed, 30 Jul 2014 18:27:14 +0200
parents 4481cf549cfc
children 6fcb6691fe5f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
1 /*
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
2 * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
4 *
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
7 * published by the Free Software Foundation.
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
8 *
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
13 * accompanied this code).
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
14 *
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
18 *
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
21 * questions.
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
22 *
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
23 */
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
24
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
25 #ifndef SHARE_VM_GRAAL_GRAALGLOBALS_HPP
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
26 #define SHARE_VM_GRAAL_GRAALGLOBALS_HPP
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
27
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
28 #include "runtime/globals.hpp"
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
29 #ifdef TARGET_ARCH_x86
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
30 # include "graalGlobals_x86.hpp"
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
31 #endif
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
32 #ifdef TARGET_ARCH_sparc
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
33 # include "graalGlobals_sparc.hpp"
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
34 #endif
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
35 #ifdef TARGET_ARCH_arm
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
36 # include "graalGlobals_arm.hpp"
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
37 #endif
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
38 #ifdef TARGET_ARCH_ppc
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
39 # include "graalGlobals_ppc.hpp"
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
40 #endif
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
41
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
42 //
7154
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
43 // Defines all global flags used by the Graal compiler. Only flags that need
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
44 // to be accessible to the Graal C++ code should be defined here. All other
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
45 // Graal flags should be defined in GraalOptions.java.
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
46 //
7154
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
47 #define GRAAL_FLAGS(develop, develop_pd, product, product_pd, notproduct) \
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
48 \
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
49 product(bool, DebugGraal, true, \
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
50 "Enable JVMTI for the compiler thread") \
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
51 \
16624
c9284d733aa1 made -XX:+UseGraalClassLoader the default (now that truffle.jar is on the boot class path)
Doug Simon <doug.simon@oracle.com>
parents: 16399
diff changeset
52 product(bool, UseGraalClassLoader, true, \
16395
ad431bf0de07 added support to load classes from graal.jar with a separate class loader
Doug Simon <doug.simon@oracle.com>
parents: 16146
diff changeset
53 "Load Graal classes with separate class loader") \
ad431bf0de07 added support to load classes from graal.jar with a separate class loader
Doug Simon <doug.simon@oracle.com>
parents: 16146
diff changeset
54 \
14124
7ad529321294 make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents: 13796
diff changeset
55 COMPILERGRAAL_PRESENT(product(bool, BootstrapGraal, true, \
12647
b038b643a3a4 restricted BootstrapGraal option to GRAALVM builds only
Doug Simon <doug.simon@oracle.com>
parents: 12608
diff changeset
56 "Bootstrap Graal before running Java main method")) \
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
57 \
16146
9b27e69f7cec added -XX:+PrintBootstrap option to mirror -G:+PrintBoostrap option
Doug Simon <doug.simon@oracle.com>
parents: 16142
diff changeset
58 COMPILERGRAAL_PRESENT(product(bool, PrintBootstrap, true, \
9b27e69f7cec added -XX:+PrintBootstrap option to mirror -G:+PrintBoostrap option
Doug Simon <doug.simon@oracle.com>
parents: 16142
diff changeset
59 "Print Graal bootstrap progress and summary")) \
9b27e69f7cec added -XX:+PrintBootstrap option to mirror -G:+PrintBoostrap option
Doug Simon <doug.simon@oracle.com>
parents: 16142
diff changeset
60 \
16142
a87f6927d73e added -XX:GraalThreads to mimic -G:Threads when using native compilation queue for Graal
Doug Simon <doug.simon@oracle.com>
parents: 16113
diff changeset
61 COMPILERGRAAL_PRESENT(product(intx, GraalThreads, 1, \
a87f6927d73e added -XX:GraalThreads to mimic -G:Threads when using native compilation queue for Graal
Doug Simon <doug.simon@oracle.com>
parents: 16113
diff changeset
62 "Force number of Graal compiler threads to use")) \
a87f6927d73e added -XX:GraalThreads to mimic -G:Threads when using native compilation queue for Graal
Doug Simon <doug.simon@oracle.com>
parents: 16113
diff changeset
63 \
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
64 product(intx, TraceGraal, 0, \
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
65 "Trace level for Graal") \
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
66 \
13796
8cd953e97e2d rework of benchmark counters: fix size at VM entry, not at build time
Lukas Stadler <lukas.stadler@jku.at>
parents: 13731
diff changeset
67 product(intx, GraalCounterSize, 0, \
8cd953e97e2d rework of benchmark counters: fix size at VM entry, not at build time
Lukas Stadler <lukas.stadler@jku.at>
parents: 13731
diff changeset
68 "Reserved size for benchmark counters") \
8cd953e97e2d rework of benchmark counters: fix size at VM entry, not at build time
Lukas Stadler <lukas.stadler@jku.at>
parents: 13731
diff changeset
69 \
8cd953e97e2d rework of benchmark counters: fix size at VM entry, not at build time
Lukas Stadler <lukas.stadler@jku.at>
parents: 13731
diff changeset
70 product(bool, GraalCountersExcludeCompiler, true, \
8cd953e97e2d rework of benchmark counters: fix size at VM entry, not at build time
Lukas Stadler <lukas.stadler@jku.at>
parents: 13731
diff changeset
71 "Exclude Graal compiler threads from benchmark counters") \
8cd953e97e2d rework of benchmark counters: fix size at VM entry, not at build time
Lukas Stadler <lukas.stadler@jku.at>
parents: 13731
diff changeset
72 \
12608
a2340324fc79 Enable deferred init barriers
Christos Kotselidis <christos.kotselidis@oracle.com>
parents: 12509
diff changeset
73 product(bool, GraalDeferredInitBarriers, true, \
12364
651cc32247d7 Add Graal option for deferring write barriers of eden allocated objects
Christos Kotselidis <christos.kotselidis@oracle.com>
parents: 10539
diff changeset
74 "Defer write barriers of young objects") \
651cc32247d7 Add Graal option for deferring write barriers of eden allocated objects
Christos Kotselidis <christos.kotselidis@oracle.com>
parents: 10539
diff changeset
75 \
12739
b699233403ad Delegate hprof enabled information from hotspot to graal
Christos Kotselidis <christos.kotselidis@oracle.com>
parents: 12647
diff changeset
76 product(bool, GraalHProfEnabled, false, \
b699233403ad Delegate hprof enabled information from hotspot to graal
Christos Kotselidis <christos.kotselidis@oracle.com>
parents: 12647
diff changeset
77 "Is Heap Profiler enabled") \
b699233403ad Delegate hprof enabled information from hotspot to graal
Christos Kotselidis <christos.kotselidis@oracle.com>
parents: 12647
diff changeset
78 \
7154
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
79 develop(bool, GraalUseFastLocking, true, \
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
80 "Use fast inlined locking code") \
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
81 \
7154
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
82 develop(bool, GraalUseFastNewTypeArray, true, \
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
83 "Use fast inlined type array allocation") \
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
84 \
7154
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
85 develop(bool, GraalUseFastNewObjectArray, true, \
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
86 "Use fast inlined object array allocation") \
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
87 \
10539
5d460d3465fd Slightly increase GraalNMethodSizeLimit and make it a product flag.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents: 8135
diff changeset
88 product(intx, GraalNMethodSizeLimit, (80*K)*wordSize, \
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
89 "Maximum size of a compiled method.") \
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
90 \
7154
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
91 notproduct(bool, GraalPrintSimpleStubs, false, \
5d0bb7d52783 changes to support Graal co-existing with the other HotSpot compiler(s) and being used for explicit compilation requests and code installation via the Graal API
Doug Simon <doug.simon@oracle.com>
parents: 7125
diff changeset
92 "Print simple Graal stubs") \
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
93 \
13642
10f943c778f6 Add code to trace uncollected speculations
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 12739
diff changeset
94 develop(bool, TraceUncollectedSpeculations, false, \
10f943c778f6 Add code to trace uncollected speculations
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 12739
diff changeset
95 "Print message when a failed speculation was not collected") \
10f943c778f6 Add code to trace uncollected speculations
Gilles Duboscq <duboscq@ssw.jku.at>
parents: 12739
diff changeset
96 \
14969
a6c144380ce7 HSAIL: added UseHSAILDeoptimization VM option for disabling HSAIL deopt support
Doug Simon <doug.simon@oracle.com>
parents: 14124
diff changeset
97 product(bool, UseHSAILDeoptimization, true, \
a6c144380ce7 HSAIL: added UseHSAILDeoptimization VM option for disabling HSAIL deopt support
Doug Simon <doug.simon@oracle.com>
parents: 14124
diff changeset
98 "Code gen and runtime support for deoptimizing HSAIL kernels") \
a6c144380ce7 HSAIL: added UseHSAILDeoptimization VM option for disabling HSAIL deopt support
Doug Simon <doug.simon@oracle.com>
parents: 14124
diff changeset
99 \
15177
66e3af78ea96 HSAIL: added safepoint support
Doug Simon <doug.simon@oracle.com>
parents: 14969
diff changeset
100 product(bool, UseHSAILSafepoints, true, \
66e3af78ea96 HSAIL: added safepoint support
Doug Simon <doug.simon@oracle.com>
parents: 14969
diff changeset
101 "Code gen and runtime support for safepoints in HSAIL kernels") \
66e3af78ea96 HSAIL: added safepoint support
Doug Simon <doug.simon@oracle.com>
parents: 14969
diff changeset
102 \
13731
9161ed8ce796 Add graal-specific option -XX:+GPUOffload to trigger all GPU offload functionality. Cleanup function to decide GPU offload. Exclude GPU sources from nongraal builds.
S.Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
parents: 13642
diff changeset
103 product(bool, GPUOffload, false, \
9161ed8ce796 Add graal-specific option -XX:+GPUOffload to trigger all GPU offload functionality. Cleanup function to decide GPU offload. Exclude GPU sources from nongraal builds.
S.Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
parents: 13642
diff changeset
104 "Offload execution to GPU whenever possible") \
9161ed8ce796 Add graal-specific option -XX:+GPUOffload to trigger all GPU offload functionality. Cleanup function to decide GPU offload. Exclude GPU sources from nongraal builds.
S.Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
parents: 13642
diff changeset
105 \
9161ed8ce796 Add graal-specific option -XX:+GPUOffload to trigger all GPU offload functionality. Cleanup function to decide GPU offload. Exclude GPU sources from nongraal builds.
S.Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
parents: 13642
diff changeset
106 product(bool, TraceGPUInteraction, false, \
9161ed8ce796 Add graal-specific option -XX:+GPUOffload to trigger all GPU offload functionality. Cleanup function to decide GPU offload. Exclude GPU sources from nongraal builds.
S.Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
parents: 13642
diff changeset
107 "Trace external GPU Interaction") \
9161ed8ce796 Add graal-specific option -XX:+GPUOffload to trigger all GPU offload functionality. Cleanup function to decide GPU offload. Exclude GPU sources from nongraal builds.
S.Bharadwaj Yadavalli <bharadwaj.yadavalli@oracle.com>
parents: 13642
diff changeset
108 \
7125
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
109
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
110
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
111 // Read default values for Graal globals
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
112
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
113 GRAAL_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_NOTPRODUCT_FLAG)
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
114
1baf7f1e3f23 decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff changeset
115 #endif // SHARE_VM_GRAAL_GRAALGLOBALS_HPP