24 |
24 |
25 #include "precompiled.hpp" |
25 #include "precompiled.hpp" |
26 #include "asm/macroAssembler.inline.hpp" |
26 #include "asm/macroAssembler.inline.hpp" |
27 #include "memory/resourceArea.hpp" |
27 #include "memory/resourceArea.hpp" |
28 #include "runtime/java.hpp" |
28 #include "runtime/java.hpp" |
|
29 #include "runtime/os.hpp" |
29 #include "runtime/stubCodeGenerator.hpp" |
30 #include "runtime/stubCodeGenerator.hpp" |
30 #include "vm_version_sparc.hpp" |
31 #include "vm_version_sparc.hpp" |
31 |
32 |
32 int VM_Version::_features = VM_Version::unknown_m; |
33 int VM_Version::_features = VM_Version::unknown_m; |
33 const char* VM_Version::_features_str = ""; |
34 const char* VM_Version::_features_str = ""; |
247 (!has_hardware_mul32() ? ", no-mul32" : ""), |
248 (!has_hardware_mul32() ? ", no-mul32" : ""), |
248 (!has_hardware_div32() ? ", no-div32" : ""), |
249 (!has_hardware_div32() ? ", no-div32" : ""), |
249 (!has_hardware_fsmuld() ? ", no-fsmuld" : "")); |
250 (!has_hardware_fsmuld() ? ", no-fsmuld" : "")); |
250 |
251 |
251 // buf is started with ", " or is empty |
252 // buf is started with ", " or is empty |
252 _features_str = strdup(strlen(buf) > 2 ? buf + 2 : buf); |
253 _features_str = os::strdup(strlen(buf) > 2 ? buf + 2 : buf); |
253 |
254 |
254 // There are three 64-bit SPARC families that do not overlap, e.g., |
255 // There are three 64-bit SPARC families that do not overlap, e.g., |
255 // both is_ultra3() and is_sparc64() cannot be true at the same time. |
256 // both is_ultra3() and is_sparc64() cannot be true at the same time. |
256 // Within these families, there can be more than one chip, e.g., |
257 // Within these families, there can be more than one chip, e.g., |
257 // is_T4() and is_T7() machines are also is_niagara(). |
258 // is_T4() and is_T7() machines are also is_niagara(). |