Lines Matching refs:obj
67 #define ZEND_ATOMIC_BOOL_INIT(obj, desired) ((obj)->value = (desired)) in BEGIN_EXTERN_C() argument
69 static zend_always_inline bool zend_atomic_bool_exchange_ex(zend_atomic_bool *obj, bool desired) { in BEGIN_EXTERN_C()
70 return InterlockedExchange8(&obj->value, desired); in BEGIN_EXTERN_C()
74 static zend_always_inline bool zend_atomic_bool_load_ex(zend_atomic_bool *obj) { in zend_atomic_bool_load_ex() argument
76 return InterlockedOr8(&obj->value, false); in zend_atomic_bool_load_ex()
79 static zend_always_inline void zend_atomic_bool_store_ex(zend_atomic_bool *obj, bool desired) { in zend_atomic_bool_store_ex() argument
80 (void)InterlockedExchange8(&obj->value, desired); in zend_atomic_bool_store_ex()
85 #define ZEND_ATOMIC_BOOL_INIT(obj, desired) __c11_atomic_init(&(obj)->value, (desired))
87 static zend_always_inline bool zend_atomic_bool_exchange_ex(zend_atomic_bool *obj, bool desired) {
88 return __c11_atomic_exchange(&obj->value, desired, __ATOMIC_SEQ_CST);
91 static zend_always_inline bool zend_atomic_bool_load_ex(const zend_atomic_bool *obj) {
92 return __c11_atomic_load(&obj->value, __ATOMIC_SEQ_CST);
95 static zend_always_inline void zend_atomic_bool_store_ex(zend_atomic_bool *obj, bool desired) {
96 __c11_atomic_store(&obj->value, desired, __ATOMIC_SEQ_CST);
101 #define ZEND_ATOMIC_BOOL_INIT(obj, desired) ((obj)->value = (desired))
103 static zend_always_inline bool zend_atomic_bool_exchange_ex(zend_atomic_bool *obj, bool desired) {
105 __atomic_exchange(&obj->value, &desired, &prev, __ATOMIC_SEQ_CST);
109 static zend_always_inline bool zend_atomic_bool_load_ex(const zend_atomic_bool *obj) {
111 __atomic_load(&obj->value, &prev, __ATOMIC_SEQ_CST);
115 static zend_always_inline void zend_atomic_bool_store_ex(zend_atomic_bool *obj, bool desired) {
116 __atomic_store(&obj->value, &desired, __ATOMIC_SEQ_CST);
121 #define ZEND_ATOMIC_BOOL_INIT(obj, desired) ((obj)->value = (desired))
123 static zend_always_inline bool zend_atomic_bool_exchange_ex(zend_atomic_bool *obj, bool desired) {
124 bool prev = __sync_lock_test_and_set(&obj->value, desired);
133 static zend_always_inline bool zend_atomic_bool_load_ex(zend_atomic_bool *obj) {
135 return __sync_fetch_and_or(&obj->value, false);
138 static zend_always_inline void zend_atomic_bool_store_ex(zend_atomic_bool *obj, bool desired) {
140 obj->value = desired;
148 #define ZEND_ATOMIC_BOOL_INIT(obj, desired) ((obj)->value = (desired))
150 static zend_always_inline void zend_atomic_bool_store_ex(zend_atomic_bool *obj, bool desired) {
151 obj->value = desired;
154 static zend_always_inline bool zend_atomic_bool_load_ex(const zend_atomic_bool *obj) {
155 return obj->value;
158 static zend_always_inline bool zend_atomic_bool_exchange_ex(zend_atomic_bool *obj, bool desired) {
159 bool prev = obj->value;
160 obj->value = desired;
166 ZEND_API void zend_atomic_bool_init(zend_atomic_bool *obj, bool desired);
167 ZEND_API bool zend_atomic_bool_exchange(zend_atomic_bool *obj, bool desired);
168 ZEND_API void zend_atomic_bool_store(zend_atomic_bool *obj, bool desired);
172 ZEND_API bool zend_atomic_bool_load(zend_atomic_bool *obj);
174 ZEND_API bool zend_atomic_bool_load(const zend_atomic_bool *obj);