< prev index next >

src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.hpp

Print this page

        

*** 20,35 **** * or visit www.oracle.com if you need additional information or have any * questions. * */ ! #ifndef OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_INLINE_HPP ! #define OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_INLINE_HPP #include "runtime/atomic.hpp" #include "runtime/orderAccess.hpp" - #include "runtime/os.hpp" // Compiler version last used for testing: gcc 4.8.2 // Please update this information when this file changes // Implementation of class OrderAccess. --- 20,34 ---- * or visit www.oracle.com if you need additional information or have any * questions. * */ ! #ifndef OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_HPP ! #define OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_HPP #include "runtime/atomic.hpp" #include "runtime/orderAccess.hpp" // Compiler version last used for testing: gcc 4.8.2 // Please update this information when this file changes // Implementation of class OrderAccess.
*** 46,63 **** 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> --- 45,60 ----
*** 107,112 **** : "memory"); } }; #endif // AMD64 ! #endif // OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_INLINE_HPP --- 104,109 ---- : "memory"); } }; #endif // AMD64 ! #endif // OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_HPP
< prev index next >