< prev index next >
src/hotspot/os_cpu/linux_s390/atomic_linux_s390.hpp
Print this page
*** 287,299 ****
template<>
struct Atomic::PlatformCmpxchg<1> : Atomic::CmpxchgByteUsingInt {};
template<>
template<typename T>
! inline T Atomic::PlatformCmpxchg<4>::operator()(T xchg_val,
! T volatile* dest,
T cmp_val,
atomic_memory_order unused) const {
STATIC_ASSERT(4 == sizeof(T));
T old;
__asm__ __volatile__ (
--- 287,299 ----
template<>
struct Atomic::PlatformCmpxchg<1> : Atomic::CmpxchgByteUsingInt {};
template<>
template<typename T>
! inline T Atomic::PlatformCmpxchg<4>::operator()(T volatile* dest,
T cmp_val,
+ T xchg_val,
atomic_memory_order unused) const {
STATIC_ASSERT(4 == sizeof(T));
T old;
__asm__ __volatile__ (
*** 311,323 ****
return old;
}
template<>
template<typename T>
! inline T Atomic::PlatformCmpxchg<8>::operator()(T xchg_val,
! T volatile* dest,
T cmp_val,
atomic_memory_order unused) const {
STATIC_ASSERT(8 == sizeof(T));
T old;
__asm__ __volatile__ (
--- 311,323 ----
return old;
}
template<>
template<typename T>
! inline T Atomic::PlatformCmpxchg<8>::operator()(T volatile* dest,
T cmp_val,
+ T xchg_val,
atomic_memory_order unused) const {
STATIC_ASSERT(8 == sizeof(T));
T old;
__asm__ __volatile__ (
< prev index next >