Mercurial > hg > truffle
annotate src/share/vm/runtime/vm_version.cpp @ 6862:8a5ea0a9ccc4
7127708: G1: change task num types from int to uint in concurrent mark
Summary: Change the type of various task num fields, parameters etc to unsigned and rename them to be more consistent with the other collectors. Code changes were also reviewed by Vitaly Davidovich.
Reviewed-by: johnc
Contributed-by: Kaushik Srenevasan <kaushik@twitter.com>
author | johnc |
---|---|
date | Sat, 06 Oct 2012 01:17:44 -0700 |
parents | 7eca5de9e0b6 |
children | b9a9ed0f8eeb fb19af007ffc |
rev | line source |
---|---|
0 | 1 /* |
2426
1d1603768966
7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
trims
parents:
2199
diff
changeset
|
2 * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. |
0 | 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 * | |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1547
diff
changeset
|
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1547
diff
changeset
|
20 * or visit www.oracle.com if you need additional information or have any |
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
1547
diff
changeset
|
21 * questions. |
0 | 22 * |
23 */ | |
24 | |
1972 | 25 #include "precompiled.hpp" |
26 #include "memory/universe.hpp" | |
27 #include "oops/oop.inline.hpp" | |
28 #include "runtime/arguments.hpp" | |
29 #ifdef TARGET_ARCH_x86 | |
30 # include "vm_version_x86.hpp" | |
31 #endif | |
32 #ifdef TARGET_ARCH_sparc | |
33 # include "vm_version_sparc.hpp" | |
34 #endif | |
35 #ifdef TARGET_ARCH_zero | |
36 # include "vm_version_zero.hpp" | |
37 #endif | |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
38 #ifdef TARGET_ARCH_arm |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
39 # include "vm_version_arm.hpp" |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
40 #endif |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
41 #ifdef TARGET_ARCH_ppc |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
42 # include "vm_version_ppc.hpp" |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
43 #endif |
0 | 44 |
45 const char* Abstract_VM_Version::_s_vm_release = Abstract_VM_Version::vm_release(); | |
46 const char* Abstract_VM_Version::_s_internal_vm_info_string = Abstract_VM_Version::internal_vm_info_string(); | |
47 bool Abstract_VM_Version::_supports_cx8 = false; | |
6795
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
4890
diff
changeset
|
48 bool Abstract_VM_Version::_supports_atomic_getset4 = false; |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
4890
diff
changeset
|
49 bool Abstract_VM_Version::_supports_atomic_getset8 = false; |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
4890
diff
changeset
|
50 bool Abstract_VM_Version::_supports_atomic_getadd4 = false; |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
4890
diff
changeset
|
51 bool Abstract_VM_Version::_supports_atomic_getadd8 = false; |
0 | 52 unsigned int Abstract_VM_Version::_logical_processors_per_package = 1U; |
3854 | 53 int Abstract_VM_Version::_reserve_for_allocation_prefetch = 0; |
0 | 54 |
55 #ifndef HOTSPOT_RELEASE_VERSION | |
56 #error HOTSPOT_RELEASE_VERSION must be defined | |
57 #endif | |
58 #ifndef JRE_RELEASE_VERSION | |
59 #error JRE_RELEASE_VERSION must be defined | |
60 #endif | |
61 #ifndef HOTSPOT_BUILD_TARGET | |
62 #error HOTSPOT_BUILD_TARGET must be defined | |
63 #endif | |
64 | |
65 #ifdef PRODUCT | |
66 #define VM_RELEASE HOTSPOT_RELEASE_VERSION | |
67 #else | |
68 #define VM_RELEASE HOTSPOT_RELEASE_VERSION "-" HOTSPOT_BUILD_TARGET | |
69 #endif | |
70 | |
71 // HOTSPOT_RELEASE_VERSION must follow the release version naming convention | |
72 // <major_ver>.<minor_ver>-b<nn>[-<identifier>][-<debug_target>] | |
73 int Abstract_VM_Version::_vm_major_version = 0; | |
74 int Abstract_VM_Version::_vm_minor_version = 0; | |
75 int Abstract_VM_Version::_vm_build_number = 0; | |
76 bool Abstract_VM_Version::_initialized = false; | |
10
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
77 int Abstract_VM_Version::_parallel_worker_threads = 0; |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
78 bool Abstract_VM_Version::_parallel_worker_threads_initialized = false; |
0 | 79 |
80 void Abstract_VM_Version::initialize() { | |
81 if (_initialized) { | |
82 return; | |
83 } | |
84 char* vm_version = os::strdup(HOTSPOT_RELEASE_VERSION); | |
85 | |
86 // Expecting the next vm_version format: | |
87 // <major_ver>.<minor_ver>-b<nn>[-<identifier>] | |
88 char* vm_major_ver = vm_version; | |
89 assert(isdigit(vm_major_ver[0]),"wrong vm major version number"); | |
90 char* vm_minor_ver = strchr(vm_major_ver, '.'); | |
91 assert(vm_minor_ver != NULL && isdigit(vm_minor_ver[1]),"wrong vm minor version number"); | |
92 vm_minor_ver[0] = '\0'; // terminate vm_major_ver | |
93 vm_minor_ver += 1; | |
94 char* vm_build_num = strchr(vm_minor_ver, '-'); | |
95 assert(vm_build_num != NULL && vm_build_num[1] == 'b' && isdigit(vm_build_num[2]),"wrong vm build number"); | |
96 vm_build_num[0] = '\0'; // terminate vm_minor_ver | |
97 vm_build_num += 2; | |
98 | |
99 _vm_major_version = atoi(vm_major_ver); | |
100 _vm_minor_version = atoi(vm_minor_ver); | |
101 _vm_build_number = atoi(vm_build_num); | |
102 | |
103 os::free(vm_version); | |
104 _initialized = true; | |
105 } | |
106 | |
107 #if defined(_LP64) | |
108 #define VMLP "64-Bit " | |
109 #else | |
110 #define VMLP "" | |
111 #endif | |
112 | |
113 #ifdef KERNEL | |
114 #define VMTYPE "Kernel" | |
115 #else // KERNEL | |
116 #ifdef TIERED | |
117 #define VMTYPE "Server" | |
1010 | 118 #else // TIERED |
119 #ifdef ZERO | |
1692 | 120 #ifdef SHARK |
121 #define VMTYPE "Shark" | |
122 #else // SHARK | |
1010 | 123 #define VMTYPE "Zero" |
1692 | 124 #endif // SHARK |
1010 | 125 #else // ZERO |
126 #define VMTYPE COMPILER1_PRESENT("Client") \ | |
127 COMPILER2_PRESENT("Server") | |
128 #endif // ZERO | |
0 | 129 #endif // TIERED |
130 #endif // KERNEL | |
131 | |
132 #ifndef HOTSPOT_VM_DISTRO | |
133 #error HOTSPOT_VM_DISTRO must be defined | |
134 #endif | |
4005
2ef3386478e6
7096278: Update the VM name to indicate it is an embedded build
dholmes
parents:
3960
diff
changeset
|
135 #define VMNAME HOTSPOT_VM_DISTRO " " VMLP EMBEDDED_ONLY("Embedded ") VMTYPE " VM" |
0 | 136 |
137 const char* Abstract_VM_Version::vm_name() { | |
138 return VMNAME; | |
139 } | |
140 | |
141 | |
142 const char* Abstract_VM_Version::vm_vendor() { | |
143 #ifdef VENDOR | |
144 return XSTR(VENDOR); | |
145 #else | |
1800 | 146 return JDK_Version::is_gte_jdk17x_version() ? |
147 "Oracle Corporation" : "Sun Microsystems Inc."; | |
0 | 148 #endif |
149 } | |
150 | |
151 | |
152 const char* Abstract_VM_Version::vm_info_string() { | |
153 switch (Arguments::mode()) { | |
154 case Arguments::_int: | |
155 return UseSharedSpaces ? "interpreted mode, sharing" : "interpreted mode"; | |
156 case Arguments::_mixed: | |
157 return UseSharedSpaces ? "mixed mode, sharing" : "mixed mode"; | |
158 case Arguments::_comp: | |
159 return UseSharedSpaces ? "compiled mode, sharing" : "compiled mode"; | |
160 }; | |
161 ShouldNotReachHere(); | |
162 return ""; | |
163 } | |
164 | |
165 // NOTE: do *not* use stringStream. this function is called by | |
166 // fatal error handler. if the crash is in native thread, | |
167 // stringStream cannot get resource allocated and will SEGV. | |
168 const char* Abstract_VM_Version::vm_release() { | |
169 return VM_RELEASE; | |
170 } | |
171 | |
4890
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
172 // NOTE: do *not* use stringStream. this function is called by |
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
173 // fatal error handlers. if the crash is in native thread, |
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
174 // stringStream cannot get resource allocated and will SEGV. |
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
175 const char* Abstract_VM_Version::jre_release_version() { |
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
176 return JRE_RELEASE_VERSION; |
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
177 } |
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
178 |
0 | 179 #define OS LINUX_ONLY("linux") \ |
180 WINDOWS_ONLY("windows") \ | |
3960 | 181 SOLARIS_ONLY("solaris") \ |
182 BSD_ONLY("bsd") | |
0 | 183 |
1010 | 184 #ifdef ZERO |
185 #define CPU ZERO_LIBARCH | |
186 #else | |
0 | 187 #define CPU IA32_ONLY("x86") \ |
188 IA64_ONLY("ia64") \ | |
189 AMD64_ONLY("amd64") \ | |
1681
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
190 ARM_ONLY("arm") \ |
126ea7725993
6953477: Increase portability and flexibility of building Hotspot
bobv
parents:
1552
diff
changeset
|
191 PPC_ONLY("ppc") \ |
0 | 192 SPARC_ONLY("sparc") |
1010 | 193 #endif // ZERO |
0 | 194 |
195 const char *Abstract_VM_Version::vm_platform_string() { | |
196 return OS "-" CPU; | |
197 } | |
198 | |
199 const char* Abstract_VM_Version::internal_vm_info_string() { | |
200 #ifndef HOTSPOT_BUILD_USER | |
201 #define HOTSPOT_BUILD_USER unknown | |
202 #endif | |
203 | |
204 #ifndef HOTSPOT_BUILD_COMPILER | |
205 #ifdef _MSC_VER | |
206 #if _MSC_VER == 1100 | |
207 #define HOTSPOT_BUILD_COMPILER "MS VC++ 5.0" | |
208 #elif _MSC_VER == 1200 | |
209 #define HOTSPOT_BUILD_COMPILER "MS VC++ 6.0" | |
210 #elif _MSC_VER == 1310 | |
645
c3a720eefe82
6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
kvn
parents:
196
diff
changeset
|
211 #define HOTSPOT_BUILD_COMPILER "MS VC++ 7.1 (VS2003)" |
0 | 212 #elif _MSC_VER == 1400 |
645
c3a720eefe82
6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
kvn
parents:
196
diff
changeset
|
213 #define HOTSPOT_BUILD_COMPILER "MS VC++ 8.0 (VS2005)" |
c3a720eefe82
6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
kvn
parents:
196
diff
changeset
|
214 #elif _MSC_VER == 1500 |
c3a720eefe82
6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
kvn
parents:
196
diff
changeset
|
215 #define HOTSPOT_BUILD_COMPILER "MS VC++ 9.0 (VS2008)" |
0 | 216 #else |
217 #define HOTSPOT_BUILD_COMPILER "unknown MS VC++:" XSTR(_MSC_VER) | |
218 #endif | |
219 #elif defined(__SUNPRO_CC) | |
220 #if __SUNPRO_CC == 0x420 | |
221 #define HOTSPOT_BUILD_COMPILER "Workshop 4.2" | |
222 #elif __SUNPRO_CC == 0x500 | |
223 #define HOTSPOT_BUILD_COMPILER "Workshop 5.0 compat=" XSTR(__SUNPRO_CC_COMPAT) | |
224 #elif __SUNPRO_CC == 0x520 | |
225 #define HOTSPOT_BUILD_COMPILER "Workshop 5.2 compat=" XSTR(__SUNPRO_CC_COMPAT) | |
226 #elif __SUNPRO_CC == 0x580 | |
227 #define HOTSPOT_BUILD_COMPILER "Workshop 5.8" | |
228 #elif __SUNPRO_CC == 0x590 | |
229 #define HOTSPOT_BUILD_COMPILER "Workshop 5.9" | |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1010
diff
changeset
|
230 #elif __SUNPRO_CC == 0x5100 |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1010
diff
changeset
|
231 #define HOTSPOT_BUILD_COMPILER "Sun Studio 12u1" |
0 | 232 #else |
233 #define HOTSPOT_BUILD_COMPILER "unknown Workshop:" XSTR(__SUNPRO_CC) | |
234 #endif | |
235 #elif defined(__GNUC__) | |
236 #define HOTSPOT_BUILD_COMPILER "gcc " __VERSION__ | |
237 #else | |
238 #define HOTSPOT_BUILD_COMPILER "unknown compiler" | |
239 #endif | |
240 #endif | |
241 | |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
242 #ifndef FLOAT_ARCH |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
243 #if defined(__SOFTFP__) |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
244 #define FLOAT_ARCH "-sflt" |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
245 #elif defined(E500V2) |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
246 #define FLOAT_ARCH "-e500v2" |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
247 #elif defined(ARM) |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
248 #define FLOAT_ARCH "-vfp" |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
249 #elif defined(PPC) |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
250 #define FLOAT_ARCH "-hflt" |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
251 #else |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
252 #define FLOAT_ARCH "" |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
253 #endif |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
254 #endif |
0 | 255 |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
256 return VMNAME " (" VM_RELEASE ") for " OS "-" CPU FLOAT_ARCH |
0 | 257 " JRE (" JRE_RELEASE_VERSION "), built on " __DATE__ " " __TIME__ |
258 " by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER; | |
259 } | |
260 | |
2199
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
261 const char *Abstract_VM_Version::vm_build_user() { |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
262 return HOTSPOT_BUILD_USER; |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
263 } |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
264 |
0 | 265 unsigned int Abstract_VM_Version::jvm_version() { |
266 return ((Abstract_VM_Version::vm_major_version() & 0xFF) << 24) | | |
267 ((Abstract_VM_Version::vm_minor_version() & 0xFF) << 16) | | |
268 (Abstract_VM_Version::vm_build_number() & 0xFF); | |
269 } | |
270 | |
271 | |
272 void VM_Version_init() { | |
273 VM_Version::initialize(); | |
274 | |
275 #ifndef PRODUCT | |
276 if (PrintMiscellaneous && Verbose) { | |
277 os::print_cpu_info(tty); | |
278 } | |
279 #endif | |
280 } | |
10
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
281 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
282 unsigned int Abstract_VM_Version::nof_parallel_worker_threads( |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
283 unsigned int num, |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
284 unsigned int den, |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
285 unsigned int switch_pt) { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
286 if (FLAG_IS_DEFAULT(ParallelGCThreads)) { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
287 assert(ParallelGCThreads == 0, "Default ParallelGCThreads is not 0"); |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
288 // For very large machines, there are diminishing returns |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
289 // for large numbers of worker threads. Instead of |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
290 // hogging the whole system, use a fraction of the workers for every |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
291 // processor after the first 8. For example, on a 72 cpu machine |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
292 // and a chosen fraction of 5/8 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
293 // use 8 + (72 - 8) * (5/8) == 48 worker threads. |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
294 unsigned int ncpus = (unsigned int) os::active_processor_count(); |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
295 return (ncpus <= switch_pt) ? |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
296 ncpus : |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
297 (switch_pt + ((ncpus - switch_pt) * num) / den); |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
298 } else { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
299 return ParallelGCThreads; |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
300 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
301 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
302 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
303 unsigned int Abstract_VM_Version::calc_parallel_worker_threads() { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
304 return nof_parallel_worker_threads(5, 8, 8); |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
305 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
306 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
307 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
308 // Does not set the _initialized flag since it is |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
309 // a global flag. |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
310 unsigned int Abstract_VM_Version::parallel_worker_threads() { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
311 if (!_parallel_worker_threads_initialized) { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
312 if (FLAG_IS_DEFAULT(ParallelGCThreads)) { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
313 _parallel_worker_threads = VM_Version::calc_parallel_worker_threads(); |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
314 } else { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
315 _parallel_worker_threads = ParallelGCThreads; |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
316 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
317 _parallel_worker_threads_initialized = true; |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
318 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
319 return _parallel_worker_threads; |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
320 } |