|
Ruby
1.9.3p551(2014-11-13revision48407)
|
Go to the source code of this file.
Macros | |
| #define | NEED_RUBY_ATOMIC_EXCHANGE |
| #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_INC(var) ((var)++) |
| #define | ATOMIC_SIZE_DEC(var) ((var)--) |
| #define | ATOMIC_SIZE_EXCHANGE(var, val) atomic_size_exchange(&(var), (val)) |
| #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)) |
Typedefs | |
| typedef int | rb_atomic_t |
Functions | |
| rb_atomic_t | ruby_atomic_exchange (rb_atomic_t *ptr, rb_atomic_t val) |
| rb_atomic_t | ruby_atomic_compare_and_swap (rb_atomic_t *ptr, rb_atomic_t cmp, rb_atomic_t newval) |
| static size_t | atomic_size_exchange (size_t *ptr, size_t val) |
| #define ATOMIC_CAS | ( | var, | |
| oldval, | |||
| newval | |||
| ) | ruby_atomic_compare_and_swap(&(var), (oldval), (newval)) |
Definition at line 144 of file ruby_atomic.h.
| #define ATOMIC_DEC | ( | var | ) | ((var)--) |
Definition at line 141 of file ruby_atomic.h.
Referenced by rb_get_next_signal().
| #define ATOMIC_EXCHANGE | ( | var, | |
| val | |||
| ) | ruby_atomic_exchange(&(var), (val)) |
Definition at line 143 of file ruby_atomic.h.
Referenced by rb_gc_finalize_deferred(), rb_objspace_call_finalizer(), and rb_threadptr_execute_interrupts_common().
| #define ATOMIC_INC | ( | var | ) | ((var)++) |
Definition at line 140 of file ruby_atomic.h.
Referenced by sighandler().
| #define ATOMIC_OR | ( | var, | |
| val | |||
| ) | ((var) |= (val)) |
Definition at line 142 of file ruby_atomic.h.
| #define ATOMIC_PTR_CAS | ( | var, | |
| oldval, | |||
| val | |||
| ) | (void *)ATOMIC_SIZE_CAS(*(size_t *)&(var), (size_t)(oldval), (size_t)(val)) |
Definition at line 171 of file ruby_atomic.h.
Referenced by iseq_load().
| #define ATOMIC_PTR_EXCHANGE | ( | var, | |
| val | |||
| ) | (void *)ATOMIC_SIZE_EXCHANGE(*(size_t *)&(var), (size_t)(val)) |
Definition at line 166 of file ruby_atomic.h.
Referenced by finalize_deferred().
| #define ATOMIC_SET | ( | var, | |
| val | |||
| ) | (void)((var) = (val)) |
Definition at line 139 of file ruby_atomic.h.
Referenced by rb_gc_finalize_deferred(), and rb_objspace_call_finalizer().
| #define ATOMIC_SIZE_ADD | ( | var, | |
| val | |||
| ) | (void)((var) += (val)) |
Definition at line 146 of file ruby_atomic.h.
| #define ATOMIC_SIZE_CAS | ( | var, | |
| oldval, | |||
| val | |||
| ) | ATOMIC_CAS(var, oldval, val) |
Definition at line 161 of file ruby_atomic.h.
| #define ATOMIC_SIZE_DEC | ( | var | ) | ((var)--) |
Definition at line 149 of file ruby_atomic.h.
| #define ATOMIC_SIZE_EXCHANGE | ( | var, | |
| val | |||
| ) | atomic_size_exchange(&(var), (val)) |
Definition at line 150 of file ruby_atomic.h.
| #define ATOMIC_SIZE_INC | ( | var | ) | ((var)++) |
Definition at line 148 of file ruby_atomic.h.
| #define ATOMIC_SIZE_SUB | ( | var, | |
| val | |||
| ) | (void)((var) -= (val)) |
Definition at line 147 of file ruby_atomic.h.
| #define NEED_RUBY_ATOMIC_EXCHANGE |
Definition at line 133 of file ruby_atomic.h.
| typedef int rb_atomic_t |
Definition at line 132 of file ruby_atomic.h.
|
inlinestatic |
Definition at line 152 of file ruby_atomic.h.
| rb_atomic_t ruby_atomic_compare_and_swap | ( | rb_atomic_t * | ptr, |
| rb_atomic_t | cmp, | ||
| rb_atomic_t | newval | ||
| ) |
| rb_atomic_t ruby_atomic_exchange | ( | rb_atomic_t * | ptr, |
| rb_atomic_t | val | ||
| ) |
1.8.14