mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Convert ATOMIC_LOAD_RELAXED to use new rbimpl_*
This commit is contained in:
parent
1d9f76096e
commit
77d29ef73c
1 changed files with 1 additions and 10 deletions
|
@ -27,16 +27,7 @@
|
||||||
#define ATOMIC_VALUE_CAS(var, oldval, val) RUBY_ATOMIC_VALUE_CAS(var, oldval, val)
|
#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)
|
#define ATOMIC_VALUE_EXCHANGE(var, val) RUBY_ATOMIC_VALUE_EXCHANGE(var, val)
|
||||||
|
|
||||||
static inline rb_atomic_t
|
#define ATOMIC_LOAD_RELAXED(var) rbimpl_atomic_load(&(var), RBIMPL_ATOMIC_RELAXED)
|
||||||
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))
|
|
||||||
|
|
||||||
typedef RBIMPL_ALIGNAS(8) uint64_t rbimpl_atomic_uint64_t;
|
typedef RBIMPL_ALIGNAS(8) uint64_t rbimpl_atomic_uint64_t;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue