< 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 >