< prev index next >

src/hotspot/os_cpu/windows_x86/atomic_windows_x86.hpp

Print this page

        

*** 77,91 **** } #define DEFINE_STUB_XCHG(ByteSize, StubType, StubName) \ template<> \ template<typename T> \ ! inline T Atomic::PlatformXchg<ByteSize>::operator()(T exchange_value, \ ! T volatile* dest, \ atomic_memory_order order) const { \ STATIC_ASSERT(ByteSize == sizeof(T)); \ ! return xchg_using_helper<StubType>(StubName, exchange_value, dest); \ } DEFINE_STUB_XCHG(4, int32_t, os::atomic_xchg_func) DEFINE_STUB_XCHG(8, int64_t, os::atomic_xchg_long_func) --- 77,91 ---- } #define DEFINE_STUB_XCHG(ByteSize, StubType, StubName) \ template<> \ template<typename T> \ ! inline T Atomic::PlatformXchg<ByteSize>::operator()(T volatile* dest, \ ! T exchange_value, \ atomic_memory_order order) const { \ STATIC_ASSERT(ByteSize == sizeof(T)); \ ! return xchg_using_helper<StubType>(StubName, dest, exchange_value); \ } DEFINE_STUB_XCHG(4, int32_t, os::atomic_xchg_func) DEFINE_STUB_XCHG(8, int64_t, os::atomic_xchg_long_func)
*** 125,136 **** } } template<> template<typename T> ! inline T Atomic::PlatformXchg<4>::operator()(T exchange_value, ! T volatile* dest, atomic_memory_order order) const { STATIC_ASSERT(4 == sizeof(T)); // alternative for InterlockedExchange __asm { mov eax, exchange_value; --- 125,136 ---- } } template<> template<typename T> ! inline T Atomic::PlatformXchg<4>::operator()(T volatile* dest, ! T exchange_value, atomic_memory_order order) const { STATIC_ASSERT(4 == sizeof(T)); // alternative for InterlockedExchange __asm { mov eax, exchange_value;
< prev index next >