< prev index next >
src/os_cpu/linux_s390/vm/atomic_linux_s390.hpp
Print this page
rev 13526 : 8186855: Multiple platforms broken after 8186476: Generalize Atomic::add with templates
*** 90,102 ****
D add_and_fetch(I add_value, D volatile* dest) const;
};
template<>
template<typename I, typename D>
! inline D Atomic::PlatformAdd<4>::add_and_fetch(I add_value, D volatile* dest) const {
! STATIC_CAST(4 == sizeof(I));
! STATIC_CAST(4 == sizeof(D));
D old, upd;
if (VM_Version::has_LoadAndALUAtomicV1()) {
__asm__ __volatile__ (
--- 90,102 ----
D add_and_fetch(I add_value, D volatile* dest) const;
};
template<>
template<typename I, typename D>
! inline D Atomic::PlatformAdd<4>::add_and_fetch(I inc, D volatile* dest) const {
! STATIC_ASSERT(4 == sizeof(I));
! STATIC_ASSERT(4 == sizeof(D));
D old, upd;
if (VM_Version::has_LoadAndALUAtomicV1()) {
__asm__ __volatile__ (
*** 141,153 ****
}
template<>
template<typename I, typename D>
! inline D Atomic::PlatformAdd<8>::add_and_fetch(I add_value, D volatile* dest) const {
! STATIC_CAST(8 == sizeof(I));
! STATIC_CAST(8 == sizeof(D));
D old, upd;
if (VM_Version::has_LoadAndALUAtomicV1()) {
__asm__ __volatile__ (
--- 141,153 ----
}
template<>
template<typename I, typename D>
! inline D Atomic::PlatformAdd<8>::add_and_fetch(I inc, D volatile* dest) const {
! STATIC_ASSERT(8 == sizeof(I));
! STATIC_ASSERT(8 == sizeof(D));
D old, upd;
if (VM_Version::has_LoadAndALUAtomicV1()) {
__asm__ __volatile__ (
< prev index next >