< prev index next >
src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.inline.hpp
Print this page
@@ -59,11 +59,10 @@
compiler_barrier();
}
template<>
struct OrderAccess::PlatformOrderedStore<1, RELEASE_X_FENCE>
- VALUE_OBJ_CLASS_SPEC
{
template <typename T>
void operator()(T v, volatile T* p) const {
__asm__ volatile ( "xchgb (%2),%0"
: "=q" (v)
@@ -72,11 +71,10 @@
}
};
template<>
struct OrderAccess::PlatformOrderedStore<2, RELEASE_X_FENCE>
- VALUE_OBJ_CLASS_SPEC
{
template <typename T>
void operator()(T v, volatile T* p) const {
__asm__ volatile ( "xchgw (%2),%0"
: "=r" (v)
@@ -85,11 +83,10 @@
}
};
template<>
struct OrderAccess::PlatformOrderedStore<4, RELEASE_X_FENCE>
- VALUE_OBJ_CLASS_SPEC
{
template <typename T>
void operator()(T v, volatile T* p) const {
__asm__ volatile ( "xchgl (%2),%0"
: "=r" (v)
@@ -99,11 +96,10 @@
};
#ifdef AMD64
template<>
struct OrderAccess::PlatformOrderedStore<8, RELEASE_X_FENCE>
- VALUE_OBJ_CLASS_SPEC
{
template <typename T>
void operator()(T v, volatile T* p) const {
__asm__ volatile ( "xchgq (%2), %0"
: "=r" (v)
< prev index next >