src/hotspot/os_cpu/bsd_zero/atomic_bsd_zero.hpp
changeset 48468 7cc7de9bf4a4
parent 47593 2d56326b98f0
child 50029 ea0a16ba6ac0
equal deleted inserted replaced
48467:7969cc1b94ee 48468:7cc7de9bf4a4
   263 
   263 
   264 template<>
   264 template<>
   265 template<typename T>
   265 template<typename T>
   266 inline T Atomic::PlatformLoad<8>::operator()(T const volatile* src) const {
   266 inline T Atomic::PlatformLoad<8>::operator()(T const volatile* src) const {
   267   STATIC_ASSERT(8 == sizeof(T));
   267   STATIC_ASSERT(8 == sizeof(T));
   268   volatile jlong dest;
   268   volatile int64_t dest;
   269   os::atomic_copy64(reinterpret_cast<const volatile jlong*>(src), reinterpret_cast<volatile jlong*>(&dest));
   269   os::atomic_copy64(reinterpret_cast<const volatile int64_t*>(src), reinterpret_cast<volatile int64_t*>(&dest));
   270   return PrimitiveConversions::cast<T>(dest);
   270   return PrimitiveConversions::cast<T>(dest);
   271 }
   271 }
   272 
   272 
   273 template<>
   273 template<>
   274 template<typename T>
   274 template<typename T>
   275 inline void Atomic::PlatformStore<8>::operator()(T store_value,
   275 inline void Atomic::PlatformStore<8>::operator()(T store_value,
   276                                                  T volatile* dest) const {
   276                                                  T volatile* dest) const {
   277   STATIC_ASSERT(8 == sizeof(T));
   277   STATIC_ASSERT(8 == sizeof(T));
   278   os::atomic_copy64(reinterpret_cast<const volatile jlong*>(&store_value), reinterpret_cast<volatile jlong*>(dest));
   278   os::atomic_copy64(reinterpret_cast<const volatile int64_t*>(&store_value), reinterpret_cast<volatile int64_t*>(dest));
   279 }
   279 }
   280 
   280 
   281 #endif // OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_HPP
   281 #endif // OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_HPP