Mercurial > hg > graal-jvmci-8
annotate src/share/vm/runtime/vm_version.cpp @ 24227:b5a90e4a6c26 jvmci-0.34
make internal_vm_info_string() consistent with java.vm.version
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 25 Aug 2017 14:25:06 +0200 |
parents | abc19eb35547 |
children |
rev | line source |
---|---|
0 | 1 /* |
24178
ab892d05b029
8161993: G1 crashes if active_processor_count changes during startup
tschatzl
parents:
22851
diff
changeset
|
2 * Copyright (c) 1998, 2016, 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 |
24226
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
45 const char* Abstract_VM_Version::_s_vm_release = NULL; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
46 const char* Abstract_VM_Version::_s_vm_name = NULL; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
47 int Abstract_VM_Version::_vm_properties_initialized_from_file = |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
48 Abstract_VM_Version::init_vm_properties(Abstract_VM_Version::_s_vm_name, Abstract_VM_Version::_s_vm_release); |
24227
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
49 const char* Abstract_VM_Version::_s_internal_vm_info_string = Abstract_VM_Version::init_internal_vm_info_string(); |
0 | 50 bool Abstract_VM_Version::_supports_cx8 = false; |
6795
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
4890
diff
changeset
|
51 bool Abstract_VM_Version::_supports_atomic_getset4 = false; |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
4890
diff
changeset
|
52 bool Abstract_VM_Version::_supports_atomic_getset8 = false; |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
4890
diff
changeset
|
53 bool Abstract_VM_Version::_supports_atomic_getadd4 = false; |
7eca5de9e0b6
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
roland
parents:
4890
diff
changeset
|
54 bool Abstract_VM_Version::_supports_atomic_getadd8 = false; |
0 | 55 unsigned int Abstract_VM_Version::_logical_processors_per_package = 1U; |
3854 | 56 int Abstract_VM_Version::_reserve_for_allocation_prefetch = 0; |
0 | 57 |
58 #ifndef HOTSPOT_RELEASE_VERSION | |
59 #error HOTSPOT_RELEASE_VERSION must be defined | |
60 #endif | |
61 #ifndef JRE_RELEASE_VERSION | |
62 #error JRE_RELEASE_VERSION must be defined | |
63 #endif | |
64 #ifndef HOTSPOT_BUILD_TARGET | |
65 #error HOTSPOT_BUILD_TARGET must be defined | |
66 #endif | |
67 | |
68 #ifdef PRODUCT | |
69 #define VM_RELEASE HOTSPOT_RELEASE_VERSION | |
70 #else | |
71 #define VM_RELEASE HOTSPOT_RELEASE_VERSION "-" HOTSPOT_BUILD_TARGET | |
72 #endif | |
73 | |
74 // HOTSPOT_RELEASE_VERSION must follow the release version naming convention | |
75 // <major_ver>.<minor_ver>-b<nn>[-<identifier>][-<debug_target>] | |
76 int Abstract_VM_Version::_vm_major_version = 0; | |
77 int Abstract_VM_Version::_vm_minor_version = 0; | |
78 int Abstract_VM_Version::_vm_build_number = 0; | |
79 bool Abstract_VM_Version::_initialized = false; | |
10
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
80 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
|
81 bool Abstract_VM_Version::_parallel_worker_threads_initialized = false; |
0 | 82 |
83 void Abstract_VM_Version::initialize() { | |
84 if (_initialized) { | |
85 return; | |
86 } | |
87 char* vm_version = os::strdup(HOTSPOT_RELEASE_VERSION); | |
88 | |
89 // Expecting the next vm_version format: | |
90 // <major_ver>.<minor_ver>-b<nn>[-<identifier>] | |
91 char* vm_major_ver = vm_version; | |
92 assert(isdigit(vm_major_ver[0]),"wrong vm major version number"); | |
93 char* vm_minor_ver = strchr(vm_major_ver, '.'); | |
94 assert(vm_minor_ver != NULL && isdigit(vm_minor_ver[1]),"wrong vm minor version number"); | |
95 vm_minor_ver[0] = '\0'; // terminate vm_major_ver | |
96 vm_minor_ver += 1; | |
97 char* vm_build_num = strchr(vm_minor_ver, '-'); | |
98 assert(vm_build_num != NULL && vm_build_num[1] == 'b' && isdigit(vm_build_num[2]),"wrong vm build number"); | |
99 vm_build_num[0] = '\0'; // terminate vm_minor_ver | |
100 vm_build_num += 2; | |
101 | |
102 _vm_major_version = atoi(vm_major_ver); | |
103 _vm_minor_version = atoi(vm_minor_ver); | |
104 _vm_build_number = atoi(vm_build_num); | |
105 | |
106 os::free(vm_version); | |
107 _initialized = true; | |
108 } | |
109 | |
110 #if defined(_LP64) | |
111 #define VMLP "64-Bit " | |
112 #else | |
113 #define VMLP "" | |
114 #endif | |
115 | |
6854
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6795
diff
changeset
|
116 #ifndef VMTYPE |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6795
diff
changeset
|
117 #ifdef TIERED |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6795
diff
changeset
|
118 #define VMTYPE "Server" |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6795
diff
changeset
|
119 #else // TIERED |
14124
7ad529321294
make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents:
14107
diff
changeset
|
120 #ifdef ZERO |
7ad529321294
make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents:
14107
diff
changeset
|
121 #ifdef SHARK |
7ad529321294
make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents:
14107
diff
changeset
|
122 #define VMTYPE "Shark" |
7ad529321294
make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents:
14107
diff
changeset
|
123 #else // SHARK |
7ad529321294
make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents:
14107
diff
changeset
|
124 #define VMTYPE "Zero" |
7ad529321294
make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents:
14107
diff
changeset
|
125 #endif // SHARK |
7ad529321294
make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents:
14107
diff
changeset
|
126 #else // ZERO |
7ad529321294
make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents:
14107
diff
changeset
|
127 #define VMTYPE COMPILER1_PRESENT("Client") \ |
23404
3ef45d0a6d77
Remove jvmci VM configuration, and backport UseJVMCICompiler flag.
Roland Schatz <roland.schatz@oracle.com>
parents:
23286
diff
changeset
|
128 COMPILER2_PRESENT("Server") |
14124
7ad529321294
make: remove GRAALVM and introduce COMPILERGRAAL. fix client hosted-mode
Bernhard Urban <bernhard.urban@jku.at>
parents:
14107
diff
changeset
|
129 #endif // ZERO |
6854
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6795
diff
changeset
|
130 #endif // TIERED |
fb19af007ffc
7189254: Change makefiles for more flexibility to override defaults
jprovino
parents:
6795
diff
changeset
|
131 #endif |
0 | 132 |
133 #ifndef HOTSPOT_VM_DISTRO | |
134 #error HOTSPOT_VM_DISTRO must be defined | |
135 #endif | |
4005
2ef3386478e6
7096278: Update the VM name to indicate it is an embedded build
dholmes
parents:
3960
diff
changeset
|
136 #define VMNAME HOTSPOT_VM_DISTRO " " VMLP EMBEDDED_ONLY("Embedded ") VMTYPE " VM" |
0 | 137 |
24226
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
138 int Abstract_VM_Version::init_vm_properties(const char*& name, const char*& version) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
139 int non_defaults = 0; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
140 name = VMNAME; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
141 version = VM_RELEASE; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
142 char filename[JVM_MAXPATHLEN]; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
143 os::jvm_path(filename, JVM_MAXPATHLEN); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
144 char *end = strrchr(filename, *os::file_separator()); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
145 if (end == NULL) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
146 warning("Could not find '%c' in %s", *os::file_separator(), filename); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
147 } else { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
148 snprintf(end, JVM_MAXPATHLEN - (end - filename), "%svm.properties", os::file_separator()); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
149 struct stat statbuf; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
150 |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
151 if (os::stat(filename, &statbuf) == 0) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
152 FILE* stream = fopen(filename, "r"); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
153 if (stream != NULL) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
154 char* buffer = NEW_C_HEAP_ARRAY(char, statbuf.st_size + 1, mtInternal); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
155 int num_read = fread(buffer, 1, statbuf.st_size, stream); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
156 int err = ferror(stream); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
157 fclose(stream); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
158 if (num_read != statbuf.st_size) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
159 warning("Only read %d of " SIZE_FORMAT " characters from %s", num_read, statbuf.st_size, filename); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
160 FREE_C_HEAP_ARRAY(char, buffer, mtInternal); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
161 } else if (err != 0) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
162 warning("Error reading from %s (errno = %d)", filename, err); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
163 FREE_C_HEAP_ARRAY(char, buffer, mtInternal); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
164 } else { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
165 char* last = buffer + statbuf.st_size; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
166 *last = '\0'; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
167 // Strip trailing new lines at end of file |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
168 while (--last >= buffer && (*last == '\r' || *last == '\n')) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
169 *last = '\0'; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
170 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
171 |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
172 char* line = buffer; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
173 int line_no = 1; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
174 while (line - buffer < statbuf.st_size) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
175 // find line end (\r, \n or \r\n) |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
176 char* nextline = NULL; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
177 char* cr = strchr(line, '\r'); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
178 char* lf = strchr(line, '\n'); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
179 if (cr != NULL && lf != NULL) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
180 char* min = MIN2(cr, lf); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
181 *min = '\0'; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
182 if (lf == cr + 1) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
183 nextline = lf + 1; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
184 } else { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
185 nextline = min + 1; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
186 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
187 } else if (cr != NULL) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
188 *cr = '\0'; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
189 nextline = cr + 1; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
190 } else if (lf != NULL) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
191 *lf = '\0'; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
192 nextline = lf + 1; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
193 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
194 |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
195 char* sep = strchr(line, '='); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
196 if (sep == NULL) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
197 warning("%s:%d: could not find '='", filename, line_no); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
198 return non_defaults; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
199 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
200 if (sep == line) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
201 warning("%s:%d: empty property name", filename, line_no); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
202 return non_defaults; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
203 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
204 *sep = '\0'; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
205 const char* key = line; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
206 char* value = sep + 1; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
207 if (strcmp(key, "name") == 0) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
208 if (name == VMNAME) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
209 non_defaults++; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
210 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
211 name = value; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
212 } else if (strcmp(key, "version") == 0) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
213 if (version == VM_RELEASE) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
214 non_defaults++; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
215 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
216 version = value; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
217 } else { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
218 warning("%s:%d: property must be \"name\" or \"version\", not \"%s\"", filename, line_no, key); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
219 return non_defaults; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
220 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
221 |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
222 if (nextline == NULL) { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
223 return true; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
224 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
225 line = nextline; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
226 line_no++; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
227 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
228 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
229 } else { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
230 warning("Error reading from %s (errno = %d)", filename, errno); |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
231 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
232 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
233 } |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
234 return non_defaults; |
0 | 235 } |
236 | |
24226
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
237 const char* Abstract_VM_Version::vm_name() { |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
238 return _s_vm_name; |
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
239 } |
0 | 240 |
241 const char* Abstract_VM_Version::vm_vendor() { | |
242 #ifdef VENDOR | |
243 return XSTR(VENDOR); | |
244 #else | |
1800 | 245 return JDK_Version::is_gte_jdk17x_version() ? |
246 "Oracle Corporation" : "Sun Microsystems Inc."; | |
0 | 247 #endif |
248 } | |
249 | |
250 | |
251 const char* Abstract_VM_Version::vm_info_string() { | |
252 switch (Arguments::mode()) { | |
253 case Arguments::_int: | |
254 return UseSharedSpaces ? "interpreted mode, sharing" : "interpreted mode"; | |
255 case Arguments::_mixed: | |
256 return UseSharedSpaces ? "mixed mode, sharing" : "mixed mode"; | |
257 case Arguments::_comp: | |
258 return UseSharedSpaces ? "compiled mode, sharing" : "compiled mode"; | |
259 }; | |
260 ShouldNotReachHere(); | |
261 return ""; | |
262 } | |
263 | |
264 // NOTE: do *not* use stringStream. this function is called by | |
265 // fatal error handler. if the crash is in native thread, | |
266 // stringStream cannot get resource allocated and will SEGV. | |
267 const char* Abstract_VM_Version::vm_release() { | |
24226
abc19eb35547
allow java.vm.name and java.vm.version to be initialized from a vm.properties file next to libjvm
Doug Simon <doug.simon@oracle.com>
parents:
24218
diff
changeset
|
268 return _s_vm_release; |
0 | 269 } |
270 | |
4890
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
271 // 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
|
272 // 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
|
273 // 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
|
274 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
|
275 return JRE_RELEASE_VERSION; |
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
276 } |
c77d473e71f7
7132779: build-infra merge: Enable ccache to work for most developer builds.
ohrstrom
parents:
4005
diff
changeset
|
277 |
0 | 278 #define OS LINUX_ONLY("linux") \ |
279 WINDOWS_ONLY("windows") \ | |
3960 | 280 SOLARIS_ONLY("solaris") \ |
14411 | 281 AIX_ONLY("aix") \ |
3960 | 282 BSD_ONLY("bsd") |
0 | 283 |
22851
ddce0b7cee93
8072383: resolve conflicts between open and closed ports
dlong
parents:
14412
diff
changeset
|
284 #ifndef CPU |
1010 | 285 #ifdef ZERO |
286 #define CPU ZERO_LIBARCH | |
287 #else | |
0 | 288 #define CPU IA32_ONLY("x86") \ |
289 IA64_ONLY("ia64") \ | |
290 AMD64_ONLY("amd64") \ | |
14391 | 291 PPC64_ONLY("ppc64") \ |
0 | 292 SPARC_ONLY("sparc") |
1010 | 293 #endif // ZERO |
22851
ddce0b7cee93
8072383: resolve conflicts between open and closed ports
dlong
parents:
14412
diff
changeset
|
294 #endif |
0 | 295 |
296 const char *Abstract_VM_Version::vm_platform_string() { | |
297 return OS "-" CPU; | |
298 } | |
299 | |
24227
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
300 const char* Abstract_VM_Version::init_internal_vm_info_string() { |
0 | 301 #ifndef HOTSPOT_BUILD_USER |
302 #define HOTSPOT_BUILD_USER unknown | |
303 #endif | |
304 | |
305 #ifndef HOTSPOT_BUILD_COMPILER | |
306 #ifdef _MSC_VER | |
307 #if _MSC_VER == 1100 | |
308 #define HOTSPOT_BUILD_COMPILER "MS VC++ 5.0" | |
309 #elif _MSC_VER == 1200 | |
310 #define HOTSPOT_BUILD_COMPILER "MS VC++ 6.0" | |
311 #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
|
312 #define HOTSPOT_BUILD_COMPILER "MS VC++ 7.1 (VS2003)" |
0 | 313 #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
|
314 #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
|
315 #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
|
316 #define HOTSPOT_BUILD_COMPILER "MS VC++ 9.0 (VS2008)" |
8757
9960dce2024f
8010116: Abstract_VM_Version::internal_vm_info_string() should recognize VS2010 and VS2012
kmo
parents:
7951
diff
changeset
|
317 #elif _MSC_VER == 1600 |
9960dce2024f
8010116: Abstract_VM_Version::internal_vm_info_string() should recognize VS2010 and VS2012
kmo
parents:
7951
diff
changeset
|
318 #define HOTSPOT_BUILD_COMPILER "MS VC++ 10.0 (VS2010)" |
9960dce2024f
8010116: Abstract_VM_Version::internal_vm_info_string() should recognize VS2010 and VS2012
kmo
parents:
7951
diff
changeset
|
319 #elif _MSC_VER == 1700 |
9960dce2024f
8010116: Abstract_VM_Version::internal_vm_info_string() should recognize VS2010 and VS2012
kmo
parents:
7951
diff
changeset
|
320 #define HOTSPOT_BUILD_COMPILER "MS VC++ 11.0 (VS2012)" |
0 | 321 #else |
322 #define HOTSPOT_BUILD_COMPILER "unknown MS VC++:" XSTR(_MSC_VER) | |
323 #endif | |
324 #elif defined(__SUNPRO_CC) | |
325 #if __SUNPRO_CC == 0x420 | |
326 #define HOTSPOT_BUILD_COMPILER "Workshop 4.2" | |
327 #elif __SUNPRO_CC == 0x500 | |
328 #define HOTSPOT_BUILD_COMPILER "Workshop 5.0 compat=" XSTR(__SUNPRO_CC_COMPAT) | |
329 #elif __SUNPRO_CC == 0x520 | |
330 #define HOTSPOT_BUILD_COMPILER "Workshop 5.2 compat=" XSTR(__SUNPRO_CC_COMPAT) | |
331 #elif __SUNPRO_CC == 0x580 | |
332 #define HOTSPOT_BUILD_COMPILER "Workshop 5.8" | |
333 #elif __SUNPRO_CC == 0x590 | |
334 #define HOTSPOT_BUILD_COMPILER "Workshop 5.9" | |
1547
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1010
diff
changeset
|
335 #elif __SUNPRO_CC == 0x5100 |
fb1a39993f69
6951319: enable solaris builds using Sun Studio 12 update 1
jcoomes
parents:
1010
diff
changeset
|
336 #define HOTSPOT_BUILD_COMPILER "Sun Studio 12u1" |
12069
9d6c9b0a8f15
8023287: HOTSPOT_BUILD_COMPILER needs to support "Sun Studio 12u3"
dcubed
parents:
8757
diff
changeset
|
337 #elif __SUNPRO_CC == 0x5120 |
9d6c9b0a8f15
8023287: HOTSPOT_BUILD_COMPILER needs to support "Sun Studio 12u3"
dcubed
parents:
8757
diff
changeset
|
338 #define HOTSPOT_BUILD_COMPILER "Sun Studio 12u3" |
0 | 339 #else |
340 #define HOTSPOT_BUILD_COMPILER "unknown Workshop:" XSTR(__SUNPRO_CC) | |
341 #endif | |
342 #elif defined(__GNUC__) | |
343 #define HOTSPOT_BUILD_COMPILER "gcc " __VERSION__ | |
14411 | 344 #elif defined(__IBMCPP__) |
345 #define HOTSPOT_BUILD_COMPILER "xlC " XSTR(__IBMCPP__) | |
346 | |
0 | 347 #else |
348 #define HOTSPOT_BUILD_COMPILER "unknown compiler" | |
349 #endif | |
350 #endif | |
351 | |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
352 #ifndef FLOAT_ARCH |
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
353 #if defined(__SOFTFP__) |
7169
6b881a6b0665
8003591: Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use
dholmes
parents:
6856
diff
changeset
|
354 #define FLOAT_ARCH_STR "-sflt" |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
355 #else |
7169
6b881a6b0665
8003591: Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use
dholmes
parents:
6856
diff
changeset
|
356 #define FLOAT_ARCH_STR "" |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
357 #endif |
7169
6b881a6b0665
8003591: Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use
dholmes
parents:
6856
diff
changeset
|
358 #else |
6b881a6b0665
8003591: Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use
dholmes
parents:
6856
diff
changeset
|
359 #define FLOAT_ARCH_STR XSTR(FLOAT_ARCH) |
2192
b92c45f2bc75
7016023: Enable building ARM and PPC from src/closed repository
bobv
parents:
1972
diff
changeset
|
360 #endif |
0 | 361 |
24227
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
362 |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
363 #define VM_INTERNAL_INFO_FORMAT(name, release) \ |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
364 name " (" release ") for " OS "-" CPU FLOAT_ARCH_STR \ |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
365 " JRE (" JRE_RELEASE_VERSION "), built on " __DATE__ " " __TIME__ \ |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
366 " by " XSTR(HOTSPOT_BUILD_USER) " with " HOTSPOT_BUILD_COMPILER |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
367 |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
368 if (_s_vm_name != VMNAME || _s_vm_release != VM_RELEASE) { |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
369 int len = strlen(VM_INTERNAL_INFO_FORMAT(VMNAME, VM_RELEASE)) - strlen(VMNAME VM_RELEASE) + |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
370 strlen(_s_vm_name) + strlen(_s_vm_release); |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
371 char* buffer = NEW_C_HEAP_ARRAY(char, len + 1, mtInternal); |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
372 sprintf(buffer, VM_INTERNAL_INFO_FORMAT("%s", "%s"), _s_vm_name, _s_vm_release); |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
373 return buffer; |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
374 } |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
375 return VM_INTERNAL_INFO_FORMAT(VMNAME, VM_RELEASE); |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
376 #undef VM_INTERNAL_INFO_FORMAT |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
377 } |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
378 |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
379 const char* Abstract_VM_Version::internal_vm_info_string() { |
b5a90e4a6c26
make internal_vm_info_string() consistent with java.vm.version
Doug Simon <doug.simon@oracle.com>
parents:
24226
diff
changeset
|
380 return _s_internal_vm_info_string; |
0 | 381 } |
382 | |
2199
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
383 const char *Abstract_VM_Version::vm_build_user() { |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
384 return HOTSPOT_BUILD_USER; |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
385 } |
d8a72fbc4be7
7003401: Implement VM error-reporting functionality on erroneous termination
kamg
parents:
2192
diff
changeset
|
386 |
0 | 387 unsigned int Abstract_VM_Version::jvm_version() { |
388 return ((Abstract_VM_Version::vm_major_version() & 0xFF) << 24) | | |
389 ((Abstract_VM_Version::vm_minor_version() & 0xFF) << 16) | | |
390 (Abstract_VM_Version::vm_build_number() & 0xFF); | |
391 } | |
392 | |
393 | |
394 void VM_Version_init() { | |
395 VM_Version::initialize(); | |
396 | |
397 #ifndef PRODUCT | |
398 if (PrintMiscellaneous && Verbose) { | |
399 os::print_cpu_info(tty); | |
400 } | |
401 #endif | |
402 } | |
10
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
403 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
404 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
|
405 unsigned int num, |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
406 unsigned int den, |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
407 unsigned int switch_pt) { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
408 if (FLAG_IS_DEFAULT(ParallelGCThreads)) { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
409 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
|
410 // 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
|
411 // 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
|
412 // 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
|
413 // 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
|
414 // and a chosen fraction of 5/8 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
415 // use 8 + (72 - 8) * (5/8) == 48 worker threads. |
24178
ab892d05b029
8161993: G1 crashes if active_processor_count changes during startup
tschatzl
parents:
22851
diff
changeset
|
416 unsigned int ncpus = (unsigned int) os::initial_active_processor_count(); |
10
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
417 return (ncpus <= switch_pt) ? |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
418 ncpus : |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
419 (switch_pt + ((ncpus - switch_pt) * num) / den); |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
420 } else { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
421 return ParallelGCThreads; |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
422 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
423 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
424 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
425 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
|
426 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
|
427 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
428 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
429 |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
430 // 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
|
431 // a global flag. |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
432 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
|
433 if (!_parallel_worker_threads_initialized) { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
434 if (FLAG_IS_DEFAULT(ParallelGCThreads)) { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
435 _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
|
436 } else { |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
437 _parallel_worker_threads = ParallelGCThreads; |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
438 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
439 _parallel_worker_threads_initialized = true; |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
440 } |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
441 return _parallel_worker_threads; |
28372612af5e
6362677: Change parallel GC collector default number of parallel GC threads.
jmasa
parents:
0
diff
changeset
|
442 } |