Mercurial > hg > graal-jvmci-8
annotate src/share/vm/jvmci/jvmci_globals.hpp @ 22742:8a91781d5afc
added JVMCI specific option TraceClassLoadingStack to see why classes are loaded
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 26 Nov 2015 14:49:10 +0100 |
parents | 569c82ebb96e |
children | de8872d1c208 |
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 |
22495
740feb10d15a
rename jvmciGlobals to be consistent with c1_globals and c2_globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
22482
diff
changeset
|
25 #ifndef SHARE_VM_JVMCI_JVMCI_GLOBALS_HPP |
740feb10d15a
rename jvmciGlobals to be consistent with c1_globals and c2_globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
22482
diff
changeset
|
26 #define SHARE_VM_JVMCI_JVMCI_GLOBALS_HPP |
7125
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 |
22495
740feb10d15a
rename jvmciGlobals to be consistent with c1_globals and c2_globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
22482
diff
changeset
|
30 # include "jvmci_globals_x86.hpp" |
7125
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 |
22495
740feb10d15a
rename jvmciGlobals to be consistent with c1_globals and c2_globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
22482
diff
changeset
|
33 # include "jvmci_globals_sparc.hpp" |
7125
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 |
22495
740feb10d15a
rename jvmciGlobals to be consistent with c1_globals and c2_globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
22482
diff
changeset
|
36 # include "jvmci_globals_arm.hpp" |
7125
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 |
22495
740feb10d15a
rename jvmciGlobals to be consistent with c1_globals and c2_globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
22482
diff
changeset
|
39 # include "jvmci_globals_ppc.hpp" |
7125
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 // |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
43 // Defines all global flags used by the JVMCI compiler. Only flags that need |
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
44 // to be accessible to the JVMCI C++ code should be defined here. All other |
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
45 // JVMCI flags should be defined in JVMCIOptions.java. |
7125
1baf7f1e3f23
decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
46 // |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
47 #define JVMCI_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 \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
49 product(bool, UseJVMCIClassLoader, true, \ |
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
50 "Load JVMCI classes with separate class loader") \ |
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
|
51 \ |
22401
31e0737e2fce
added -XX:JVMCIServicesDir for specifying an alternative to <jre>/lib/jvmci/services
Doug Simon <doug.simon@oracle.com>
parents:
21559
diff
changeset
|
52 product(ccstr, JVMCIServicesDir, NULL, \ |
31e0737e2fce
added -XX:JVMCIServicesDir for specifying an alternative to <jre>/lib/jvmci/services
Doug Simon <doug.simon@oracle.com>
parents:
21559
diff
changeset
|
53 "Alternate directory to use for JVMCI services") \ |
31e0737e2fce
added -XX:JVMCIServicesDir for specifying an alternative to <jre>/lib/jvmci/services
Doug Simon <doug.simon@oracle.com>
parents:
21559
diff
changeset
|
54 \ |
22457
c2d49f9fbceb
made BootstrapJVMCI false by default
Doug Simon <doug.simon@oracle.com>
parents:
22447
diff
changeset
|
55 COMPILERJVMCI_PRESENT(product(bool, BootstrapJVMCI, false, \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
56 "Bootstrap JVMCI before running Java main method")) \ |
7125
1baf7f1e3f23
decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
57 \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
58 COMPILERJVMCI_PRESENT(product(bool, PrintBootstrap, true, \ |
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
59 "Print JVMCI bootstrap progress and summary")) \ |
16146
9b27e69f7cec
added -XX:+PrintBootstrap option to mirror -G:+PrintBoostrap option
Doug Simon <doug.simon@oracle.com>
parents:
16142
diff
changeset
|
60 \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
61 COMPILERJVMCI_PRESENT(product(intx, JVMCIThreads, 1, \ |
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
62 "Force number of JVMCI compiler threads to use")) \ |
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
|
63 \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
64 COMPILERJVMCI_PRESENT(product(intx, JVMCIHostThreads, 1, \ |
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
65 "Force number of compiler threads for JVMCI host compiler")) \ |
19895
c3d9637c98ed
Add GraalHostThreads flag to overwrite the number of threads spawned for the baseline compiler.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
18929
diff
changeset
|
66 \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
67 JVMCI_ONLY(product(bool, CodeInstallSafepointChecks, true, \ |
17241
6fcb6691fe5f
Add safepoint checks during code installation
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
16624
diff
changeset
|
68 "Perform explicit safepoint checks while installing code")) \ |
6fcb6691fe5f
Add safepoint checks during code installation
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
16624
diff
changeset
|
69 \ |
22401
31e0737e2fce
added -XX:JVMCIServicesDir for specifying an alternative to <jre>/lib/jvmci/services
Doug Simon <doug.simon@oracle.com>
parents:
21559
diff
changeset
|
70 NOT_COMPILER2(product_pd(intx, MaxVectorSize, \ |
21074
2e35a4ea22ac
Add MaxVectorSize to Graal globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
19945
diff
changeset
|
71 "Max vector size in bytes, " \ |
2e35a4ea22ac
Add MaxVectorSize to Graal globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
19945
diff
changeset
|
72 "actual size could be less depending on elements type")) \ |
2e35a4ea22ac
Add MaxVectorSize to Graal globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
19945
diff
changeset
|
73 \ |
22447
ecbf949a9dcd
replace JVMCIDeferredInitBarriers with ReduceInitialCardMarks
Doug Simon <doug.simon@oracle.com>
parents:
22401
diff
changeset
|
74 NOT_COMPILER2(product(bool, ReduceInitialCardMarks, true, \ |
ecbf949a9dcd
replace JVMCIDeferredInitBarriers with ReduceInitialCardMarks
Doug Simon <doug.simon@oracle.com>
parents:
22401
diff
changeset
|
75 "Defer write barriers of young objects")) \ |
ecbf949a9dcd
replace JVMCIDeferredInitBarriers with ReduceInitialCardMarks
Doug Simon <doug.simon@oracle.com>
parents:
22401
diff
changeset
|
76 \ |
22544
b87d1bf3cd9a
renamed TraceJVMCI option to JVMCITraceLevel and ensured all tracing controlled by this option uses the TRACE_jvmci_* macros
Doug Simon <doug.simon@oracle.com>
parents:
22527
diff
changeset
|
77 product(intx, JVMCITraceLevel, 0, \ |
22482
da68ca58b271
Adjust meaning of TraceJVMCI levels
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
22457
diff
changeset
|
78 "Trace level for JVMCI: " \ |
22544
b87d1bf3cd9a
renamed TraceJVMCI option to JVMCITraceLevel and ensured all tracing controlled by this option uses the TRACE_jvmci_* macros
Doug Simon <doug.simon@oracle.com>
parents:
22527
diff
changeset
|
79 "1 means emit a message for each CompilerToVM call," \ |
b87d1bf3cd9a
renamed TraceJVMCI option to JVMCITraceLevel and ensured all tracing controlled by this option uses the TRACE_jvmci_* macros
Doug Simon <doug.simon@oracle.com>
parents:
22527
diff
changeset
|
80 "levels greater than 1 provide progressively greater detail") \ |
7125
1baf7f1e3f23
decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
81 \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
82 product(intx, JVMCICounterSize, 0, \ |
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
|
83 "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
|
84 \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
85 product(bool, JVMCICountersExcludeCompiler, true, \ |
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
86 "Exclude JVMCI compiler threads from benchmark counters") \ |
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
|
87 \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
88 develop(bool, JVMCIUseFastLocking, true, \ |
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
|
89 "Use fast inlined locking code") \ |
7125
1baf7f1e3f23
decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
90 \ |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
91 product(intx, JVMCINMethodSizeLimit, (80*K)*wordSize, \ |
7125
1baf7f1e3f23
decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
92 "Maximum size of a compiled method.") \ |
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") \ |
22742
8a91781d5afc
added JVMCI specific option TraceClassLoadingStack to see why classes are loaded
Doug Simon <doug.simon@oracle.com>
parents:
22575
diff
changeset
|
96 product(intx, TraceClassLoadingStack, false, \ |
8a91781d5afc
added JVMCI specific option TraceClassLoadingStack to see why classes are loaded
Doug Simon <doug.simon@oracle.com>
parents:
22575
diff
changeset
|
97 "Print stack when loading a class") \ |
8a91781d5afc
added JVMCI specific option TraceClassLoadingStack to see why classes are loaded
Doug Simon <doug.simon@oracle.com>
parents:
22575
diff
changeset
|
98 \ |
7125
1baf7f1e3f23
decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
99 |
1baf7f1e3f23
decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
100 |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
101 // Read default values for JVMCI globals |
7125
1baf7f1e3f23
decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
102 |
21559
be896a1983c0
recast all Graal native code as JVMCI code (JBS:GRAAL-53)
Doug Simon <doug.simon@oracle.com>
parents:
21124
diff
changeset
|
103 JVMCI_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_NOTPRODUCT_FLAG) |
7125
1baf7f1e3f23
decoupled C++ Graal runtime from C1
Doug Simon <doug.simon@oracle.com>
parents:
diff
changeset
|
104 |
22495
740feb10d15a
rename jvmciGlobals to be consistent with c1_globals and c2_globals
Tom Rodriguez <tom.rodriguez@oracle.com>
parents:
22482
diff
changeset
|
105 #endif // SHARE_VM_JVMCI_JVMCI_GLOBALS_HPP |