diff --git a/ruby_atomic.h b/ruby_atomic.h index 1ccabcbdf6..2923275636 100644 --- a/ruby_atomic.h +++ b/ruby_atomic.h @@ -27,16 +27,7 @@ #define ATOMIC_VALUE_CAS(var, oldval, val) RUBY_ATOMIC_VALUE_CAS(var, oldval, val) #define ATOMIC_VALUE_EXCHANGE(var, val) RUBY_ATOMIC_VALUE_EXCHANGE(var, val) -static inline rb_atomic_t -rbimpl_atomic_load_relaxed(volatile rb_atomic_t *ptr) -{ -#if defined(HAVE_GCC_ATOMIC_BUILTINS) - return __atomic_load_n(ptr, __ATOMIC_RELAXED); -#else - return *ptr; -#endif -} -#define ATOMIC_LOAD_RELAXED(var) rbimpl_atomic_load_relaxed(&(var)) +#define ATOMIC_LOAD_RELAXED(var) rbimpl_atomic_load(&(var), RBIMPL_ATOMIC_RELAXED) typedef RBIMPL_ALIGNAS(8) uint64_t rbimpl_atomic_uint64_t;