6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "code/codeCacheExtensions.hpp"
27 #include "logging/log.hpp"
28 #include "memory/universe.hpp"
29 #include "oops/oop.inline.hpp"
30 #include "runtime/arguments.hpp"
31 #include "runtime/vm_version.hpp"
32
33 const char* Abstract_VM_Version::_s_vm_release = Abstract_VM_Version::vm_release();
34 const char* Abstract_VM_Version::_s_internal_vm_info_string = Abstract_VM_Version::internal_vm_info_string();
35
36 uint64_t Abstract_VM_Version::_features = 0;
37 const char* Abstract_VM_Version::_features_string = "";
38
39 bool Abstract_VM_Version::_supports_cx8 = false;
40 bool Abstract_VM_Version::_supports_atomic_getset4 = false;
41 bool Abstract_VM_Version::_supports_atomic_getset8 = false;
42 bool Abstract_VM_Version::_supports_atomic_getadd4 = false;
43 bool Abstract_VM_Version::_supports_atomic_getadd8 = false;
44 unsigned int Abstract_VM_Version::_logical_processors_per_package = 1U;
45 unsigned int Abstract_VM_Version::_L1_data_cache_line_size = 0;
46
110 #ifndef HOTSPOT_VM_DISTRO
111 #error HOTSPOT_VM_DISTRO must be defined
112 #endif
113 #define VMNAME HOTSPOT_VM_DISTRO " " VMLP VMTYPE " VM"
114
115 const char* Abstract_VM_Version::vm_name() {
116 return VMNAME;
117 }
118
119
120 const char* Abstract_VM_Version::vm_vendor() {
121 #ifdef VENDOR
122 return XSTR(VENDOR);
123 #else
124 return "Oracle Corporation";
125 #endif
126 }
127
128
129 const char* Abstract_VM_Version::vm_info_string() {
130 if (CodeCacheExtensions::use_pregenerated_interpreter()) {
131 return "interpreted mode, pregenerated";
132 }
133 switch (Arguments::mode()) {
134 case Arguments::_int:
135 return UseSharedSpaces ? "interpreted mode, sharing" : "interpreted mode";
136 case Arguments::_mixed:
137 if (UseSharedSpaces) {
138 if (UseAOT) {
139 return "mixed mode, aot, sharing";
140 } else {
141 return "mixed mode, sharing";
142 }
143 } else {
144 if (UseAOT) {
145 return "mixed mode, aot";
146 } else {
147 return "mixed mode";
148 }
149 }
150 case Arguments::_comp:
151 return UseSharedSpaces ? "compiled mode, sharing" : "compiled mode";
152 };
|
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "logging/log.hpp"
27 #include "memory/universe.hpp"
28 #include "oops/oop.inline.hpp"
29 #include "runtime/arguments.hpp"
30 #include "runtime/vm_version.hpp"
31
32 const char* Abstract_VM_Version::_s_vm_release = Abstract_VM_Version::vm_release();
33 const char* Abstract_VM_Version::_s_internal_vm_info_string = Abstract_VM_Version::internal_vm_info_string();
34
35 uint64_t Abstract_VM_Version::_features = 0;
36 const char* Abstract_VM_Version::_features_string = "";
37
38 bool Abstract_VM_Version::_supports_cx8 = false;
39 bool Abstract_VM_Version::_supports_atomic_getset4 = false;
40 bool Abstract_VM_Version::_supports_atomic_getset8 = false;
41 bool Abstract_VM_Version::_supports_atomic_getadd4 = false;
42 bool Abstract_VM_Version::_supports_atomic_getadd8 = false;
43 unsigned int Abstract_VM_Version::_logical_processors_per_package = 1U;
44 unsigned int Abstract_VM_Version::_L1_data_cache_line_size = 0;
45
109 #ifndef HOTSPOT_VM_DISTRO
110 #error HOTSPOT_VM_DISTRO must be defined
111 #endif
112 #define VMNAME HOTSPOT_VM_DISTRO " " VMLP VMTYPE " VM"
113
114 const char* Abstract_VM_Version::vm_name() {
115 return VMNAME;
116 }
117
118
119 const char* Abstract_VM_Version::vm_vendor() {
120 #ifdef VENDOR
121 return XSTR(VENDOR);
122 #else
123 return "Oracle Corporation";
124 #endif
125 }
126
127
128 const char* Abstract_VM_Version::vm_info_string() {
129 switch (Arguments::mode()) {
130 case Arguments::_int:
131 return UseSharedSpaces ? "interpreted mode, sharing" : "interpreted mode";
132 case Arguments::_mixed:
133 if (UseSharedSpaces) {
134 if (UseAOT) {
135 return "mixed mode, aot, sharing";
136 } else {
137 return "mixed mode, sharing";
138 }
139 } else {
140 if (UseAOT) {
141 return "mixed mode, aot";
142 } else {
143 return "mixed mode";
144 }
145 }
146 case Arguments::_comp:
147 return UseSharedSpaces ? "compiled mode, sharing" : "compiled mode";
148 };
|