• Home
  • Raw
  • Download

Lines Matching full:object

83 static inline void atomic_store(intptr_t *object, intptr_t desired)  in atomic_store()  argument
85 *object = desired; in atomic_store()
89 #define atomic_store_explicit(object, desired, order) \ argument
90 atomic_store(object, desired)
92 static inline intptr_t atomic_load(intptr_t *object) in atomic_load() argument
95 return *object; in atomic_load()
98 #define atomic_load_explicit(object, order) \ argument
99 atomic_load(object)
101 #define atomic_exchange(object, desired) \ argument
102 atomic_swap_ptr(object, desired)
104 #define atomic_exchange_explicit(object, desired, order) \ argument
105 atomic_exchange(object, desired)
107 static inline int atomic_compare_exchange_strong(intptr_t *object, intptr_t *expected, in atomic_compare_exchange_strong() argument
111 *expected = (intptr_t)atomic_cas_ptr(object, (void *)old, (void *)desired); in atomic_compare_exchange_strong()
115 #define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) \ argument
116 atomic_compare_exchange_strong(object, expected, desired)
118 #define atomic_compare_exchange_weak(object, expected, desired) \ argument
119 atomic_compare_exchange_strong(object, expected, desired)
121 #define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) \ argument
122 atomic_compare_exchange_weak(object, expected, desired)
124 static inline intptr_t atomic_fetch_add(intptr_t *object, intptr_t operand) in atomic_fetch_add() argument
126 return atomic_add_ptr_nv(object, operand) - operand; in atomic_fetch_add()
129 #define atomic_fetch_sub(object, operand) \ argument
130 atomic_fetch_add(object, -(operand))
132 static inline intptr_t atomic_fetch_or(intptr_t *object, intptr_t operand) in atomic_fetch_or() argument
136 old = atomic_load(object); in atomic_fetch_or()
137 } while (!atomic_compare_exchange_strong(object, old, old | operand)); in atomic_fetch_or()
141 static inline intptr_t atomic_fetch_xor(intptr_t *object, intptr_t operand) in atomic_fetch_xor() argument
145 old = atomic_load(object); in atomic_fetch_xor()
146 } while (!atomic_compare_exchange_strong(object, old, old ^ operand)); in atomic_fetch_xor()
150 static inline intptr_t atomic_fetch_and(intptr_t *object, intptr_t operand) in atomic_fetch_and() argument
154 old = atomic_load(object); in atomic_fetch_and()
155 } while (!atomic_compare_exchange_strong(object, old, old & operand)); in atomic_fetch_and()
159 #define atomic_fetch_add_explicit(object, operand, order) \ argument
160 atomic_fetch_add(object, operand)
162 #define atomic_fetch_sub_explicit(object, operand, order) \ argument
163 atomic_fetch_sub(object, operand)
165 #define atomic_fetch_or_explicit(object, operand, order) \ argument
166 atomic_fetch_or(object, operand)
168 #define atomic_fetch_xor_explicit(object, operand, order) \ argument
169 atomic_fetch_xor(object, operand)
171 #define atomic_fetch_and_explicit(object, operand, order) \ argument
172 atomic_fetch_and(object, operand)
174 #define atomic_flag_test_and_set(object) \ argument
175 atomic_exchange(object, 1)
177 #define atomic_flag_test_and_set_explicit(object, order) \ argument
178 atomic_flag_test_and_set(object)
180 #define atomic_flag_clear(object) \ argument
181 atomic_store(object, 0)
183 #define atomic_flag_clear_explicit(object, order) \ argument
184 atomic_flag_clear(object)