< prev index next >

src/hotspot/os_cpu/linux_s390/atomic_linux_s390.hpp

Print this page

        

*** 76,92 **** template<size_t byte_size> struct Atomic::PlatformAdd : Atomic::AddAndFetch<Atomic::PlatformAdd<byte_size> > { ! template<typename I, typename D> ! D add_and_fetch(I add_value, D volatile* dest, atomic_memory_order order) const; }; template<> ! template<typename I, typename D> ! inline D Atomic::PlatformAdd<4>::add_and_fetch(I inc, D volatile* dest, atomic_memory_order order) const { STATIC_ASSERT(4 == sizeof(I)); STATIC_ASSERT(4 == sizeof(D)); D old, upd; --- 76,92 ---- template<size_t byte_size> struct Atomic::PlatformAdd : Atomic::AddAndFetch<Atomic::PlatformAdd<byte_size> > { ! template<typename D, typename I> ! D add_and_fetch(D volatile* dest, I add_value, atomic_memory_order order) const; }; template<> ! template<typename D, typename I> ! inline D Atomic::PlatformAdd<4>::add_and_fetch(D volatile* dest, I inc, atomic_memory_order order) const { STATIC_ASSERT(4 == sizeof(I)); STATIC_ASSERT(4 == sizeof(D)); D old, upd;
*** 135,146 **** return upd; } template<> ! template<typename I, typename D> ! inline D Atomic::PlatformAdd<8>::add_and_fetch(I inc, D volatile* dest, atomic_memory_order order) const { STATIC_ASSERT(8 == sizeof(I)); STATIC_ASSERT(8 == sizeof(D)); D old, upd; --- 135,146 ---- return upd; } template<> ! template<typename D, typename I> ! inline D Atomic::PlatformAdd<8>::add_and_fetch(D volatile* dest, I inc, atomic_memory_order order) const { STATIC_ASSERT(8 == sizeof(I)); STATIC_ASSERT(8 == sizeof(D)); D old, upd;
*** 206,217 **** // // The return value is the (unchanged) value from memory as it was when the // replacement succeeded. template<> template<typename T> ! inline T Atomic::PlatformXchg<4>::operator()(T exchange_value, ! T volatile* dest, atomic_memory_order unused) const { STATIC_ASSERT(4 == sizeof(T)); T old; __asm__ __volatile__ ( --- 206,217 ---- // // The return value is the (unchanged) value from memory as it was when the // replacement succeeded. template<> template<typename T> ! inline T Atomic::PlatformXchg<4>::operator()(T volatile* dest, ! T exchange_value, atomic_memory_order unused) const { STATIC_ASSERT(4 == sizeof(T)); T old; __asm__ __volatile__ (
*** 230,241 **** return old; } template<> template<typename T> ! inline T Atomic::PlatformXchg<8>::operator()(T exchange_value, ! T volatile* dest, atomic_memory_order unused) const { STATIC_ASSERT(8 == sizeof(T)); T old; __asm__ __volatile__ ( --- 230,241 ---- return old; } template<> template<typename T> ! inline T Atomic::PlatformXchg<8>::operator()(T volatile* dest, ! T exchange_value, atomic_memory_order unused) const { STATIC_ASSERT(8 == 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 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 >