< prev index next >
src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.hpp
Print this page
*** 48,68 ****
// __asm__ __volatile__ ("dmb" : : : "memory");
// __asm__ __volatile__ ("dsb" : : : "memory");
//
// inline void _OrderAccess_dsb() {
// volatile intptr_t dummy = 0;
- // if (os::is_MP()) {
// __asm__ volatile (
// "mcr p15, 0, %0, c7, c10, 4"
// : : "r" (dummy) : "memory");
// }
- // }
inline static void dmb_sy() {
- if (!os::is_MP()) {
- return;
- }
#ifdef AARCH64
__asm__ __volatile__ ("dmb sy" : : : "memory");
#else
if (VM_Version::arm_arch() >= 7) {
#ifdef __thumb__
--- 48,63 ----
*** 80,92 ****
}
#endif
}
inline static void dmb_st() {
- if (!os::is_MP()) {
- return;
- }
#ifdef AARCH64
__asm__ __volatile__ ("dmb st" : : : "memory");
#else
if (VM_Version::arm_arch() >= 7) {
#ifdef __thumb__
--- 75,84 ----
*** 106,118 ****
}
// Load-Load/Store barrier
inline static void dmb_ld() {
#ifdef AARCH64
- if (!os::is_MP()) {
- return;
- }
__asm__ __volatile__ ("dmb ld" : : : "memory");
#else
dmb_sy();
#endif
}
--- 98,107 ----
< prev index next >