< prev index next >
src/share/vm/runtime/vm_version.hpp
Print this page
*** 96,117 ****
static const char* internal_vm_info_string();
static const char* jre_release_version();
// does HW support an 8-byte compare-exchange operation?
static bool supports_cx8() {
#ifdef SUPPORTS_NATIVE_CX8
return true;
#else
return _supports_cx8;
#endif
}
// does HW support atomic get-and-set or atomic get-and-add? Used
// to guide intrinsification decisions for Unsafe atomic ops
! static bool supports_atomic_getset4() {return _supports_atomic_getset4;}
! static bool supports_atomic_getset8() {return _supports_atomic_getset8;}
! static bool supports_atomic_getadd4() {return _supports_atomic_getadd4;}
! static bool supports_atomic_getadd8() {return _supports_atomic_getadd8;}
static unsigned int logical_processors_per_package() {
return _logical_processors_per_package;
}
--- 96,118 ----
static const char* internal_vm_info_string();
static const char* jre_release_version();
// does HW support an 8-byte compare-exchange operation?
static bool supports_cx8() {
+ assert(_initialized, "not initialized");
#ifdef SUPPORTS_NATIVE_CX8
return true;
#else
return _supports_cx8;
#endif
}
// does HW support atomic get-and-set or atomic get-and-add? Used
// to guide intrinsification decisions for Unsafe atomic ops
! static bool supports_atomic_getset4() { assert(_initialized, "not initialized"); return _supports_atomic_getset4;}
! static bool supports_atomic_getset8() { assert(_initialized, "not initialized"); return _supports_atomic_getset8;}
! static bool supports_atomic_getadd4() { assert(_initialized, "not initialized"); return _supports_atomic_getadd4;}
! static bool supports_atomic_getadd8() { assert(_initialized, "not initialized"); return _supports_atomic_getadd8;}
static unsigned int logical_processors_per_package() {
return _logical_processors_per_package;
}
< prev index next >