Go to the source code of this file.
|
#define | NEED_RUBY_ATOMIC_OPS |
|
#define | ATOMIC_SET(var, val) (void)((var) = (val)) |
|
#define | ATOMIC_INC(var) ((var)++) |
|
#define | ATOMIC_DEC(var) ((var)--) |
|
#define | ATOMIC_OR(var, val) ((var) |= (val)) |
|
#define | ATOMIC_EXCHANGE(var, val) ruby_atomic_exchange(&(var), (val)) |
|
#define | ATOMIC_CAS(var, oldval, newval) ruby_atomic_compare_and_swap(&(var), (oldval), (newval)) |
|
#define | ATOMIC_SIZE_ADD(var, val) (void)((var) += (val)) |
|
#define | ATOMIC_SIZE_SUB(var, val) (void)((var) -= (val)) |
|
#define | ATOMIC_SIZE_EXCHANGE(var, val) ruby_atomic_size_exchange(&(var), (val)) |
|
#define | ATOMIC_SIZE_INC(var) ATOMIC_INC(var) |
|
#define | ATOMIC_SIZE_DEC(var) ATOMIC_DEC(var) |
|
#define | ATOMIC_SIZE_CAS(var, oldval, val) ATOMIC_CAS(var, oldval, val) |
|
#define | ATOMIC_PTR_EXCHANGE(var, val) (void *)ATOMIC_SIZE_EXCHANGE(*(size_t *)&(var), (size_t)(val)) |
|
#define | ATOMIC_PTR_CAS(var, oldval, val) (void *)ATOMIC_SIZE_CAS(*(size_t *)&(var), (size_t)(oldval), (size_t)(val)) |
|
#define | ATOMIC_VALUE_EXCHANGE(var, val) ATOMIC_SIZE_EXCHANGE(*(size_t *)&(var), (size_t)(val)) |
|
#define | ATOMIC_VALUE_CAS(var, oldval, val) ATOMIC_SIZE_CAS(*(size_t *)&(var), (size_t)(oldval), (size_t)(val)) |
|
◆ ATOMIC_CAS
◆ ATOMIC_DEC
#define ATOMIC_DEC |
( |
|
var | ) |
((var)--) |
◆ ATOMIC_EXCHANGE
◆ ATOMIC_INC
#define ATOMIC_INC |
( |
|
var | ) |
((var)++) |
◆ ATOMIC_OR
#define ATOMIC_OR |
( |
|
var, |
|
|
|
val |
|
) |
| ((var) |= (val)) |
◆ ATOMIC_PTR_CAS
◆ ATOMIC_PTR_EXCHANGE
◆ ATOMIC_SET
#define ATOMIC_SET |
( |
|
var, |
|
|
|
val |
|
) |
| (void)((var) = (val)) |
◆ ATOMIC_SIZE_ADD
#define ATOMIC_SIZE_ADD |
( |
|
var, |
|
|
|
val |
|
) |
| (void)((var) += (val)) |
◆ ATOMIC_SIZE_CAS
#define ATOMIC_SIZE_CAS |
( |
|
var, |
|
|
|
oldval, |
|
|
|
val |
|
) |
| ATOMIC_CAS(var, oldval, val) |
◆ ATOMIC_SIZE_DEC
◆ ATOMIC_SIZE_EXCHANGE
#define ATOMIC_SIZE_EXCHANGE |
( |
|
var, |
|
|
|
val |
|
) |
| ruby_atomic_size_exchange(&(var), (val)) |
◆ ATOMIC_SIZE_INC
◆ ATOMIC_SIZE_SUB
#define ATOMIC_SIZE_SUB |
( |
|
var, |
|
|
|
val |
|
) |
| (void)((var) -= (val)) |
◆ ATOMIC_VALUE_CAS
◆ ATOMIC_VALUE_EXCHANGE
◆ NEED_RUBY_ATOMIC_OPS
#define NEED_RUBY_ATOMIC_OPS |
◆ rb_atomic_t
◆ ruby_atomic_compare_and_swap()
◆ ruby_atomic_exchange()