< prev index next >

src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.hpp

Print this page

        

*** 20,35 **** * or visit www.oracle.com if you need additional information or have any * questions. * */ ! #ifndef OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_INLINE_HPP ! #define OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_INLINE_HPP #include "runtime/atomic.hpp" #include "runtime/orderAccess.hpp" - #include "runtime/os.hpp" // Compiler version last used for testing: clang 5.1 // Please update this information when this file changes // A compiler barrier, forcing the C++ compiler to invalidate all memory assumptions --- 20,34 ---- * or visit www.oracle.com if you need additional information or have any * questions. * */ ! #ifndef OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_HPP ! #define OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_HPP #include "runtime/atomic.hpp" #include "runtime/orderAccess.hpp" // Compiler version last used for testing: clang 5.1 // Please update this information when this file changes // A compiler barrier, forcing the C++ compiler to invalidate all memory assumptions
*** 50,67 **** inline void OrderAccess::acquire() { compiler_barrier(); } inline void OrderAccess::release() { compiler_barrier(); } inline void OrderAccess::fence() { - if (os::is_MP()) { // always use locked addl since mfence is sometimes expensive #ifdef AMD64 __asm__ volatile ("lock; addl $0,0(%%rsp)" : : : "cc", "memory"); #else __asm__ volatile ("lock; addl $0,0(%%esp)" : : : "cc", "memory"); #endif - } compiler_barrier(); } template<> struct OrderAccess::PlatformOrderedStore<1, RELEASE_X_FENCE> --- 49,64 ----
*** 111,116 **** : "memory"); } }; #endif // AMD64 ! #endif // OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_INLINE_HPP --- 108,113 ---- : "memory"); } }; #endif // AMD64 ! #endif // OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_HPP
< prev index next >