| /xnu-8020.140.41/tests/ |
| H A D | os_atomic.cpp | 17 T_ASSERT_EQ(os_atomic_cmpxchg(&i, 1, 0, relaxed), true, "os_atomic_cmpxchg"); 23 T_ASSERT_EQ(os_atomic_cmpxchg(&old_i, 1, 0, relaxed), true, "os_atomic_cmpxchg"); 29 T_ASSERT_EQ(os_atomic_cmpxchg(&v_i, 1, 0, relaxed), true, "os_atomic_cmpxchg");
|
| /xnu-8020.140.41/tools/cocci/ |
| H A D | OSAtomic_rewrite.cocci | 181 + os_atomic_cmpxchg(A, E, F, acq_rel) 184 + os_atomic_cmpxchg(A, E, F, acq_rel) 187 + os_atomic_cmpxchg(A, E, F, acq_rel) 190 + os_atomic_cmpxchg(A, E, F, acq_rel) 193 + os_atomic_cmpxchg(A, E, F, acq_rel) 196 + os_atomic_cmpxchg(A, E, F, acq_rel) 199 + os_atomic_cmpxchg(A, E, F, acq_rel)
|
| H A D | mcache_atomic_rewrite.cocci | 65 + os_atomic_cmpxchg(A, E, F, acq_rel) 68 + os_atomic_cmpxchg(A, E, F, acq_rel) 71 + os_atomic_cmpxchg(A, E, F, acq_rel)
|
| H A D | hw_atomic_rewrite.cocci | 93 + os_atomic_cmpxchg(A, E, F, acq_rel)
|
| /xnu-8020.140.41/osfmk/i386/ |
| H A D | locks_i386_opt.c | 139 if (!os_atomic_cmpxchg(&lock->lck_mtx_state, prev, state, acquire)) { in lck_mtx_lock() 193 if (!os_atomic_cmpxchg(&lock->lck_mtx_state, prev, state, acquire)) { in lck_mtx_try_lock() 260 if (!os_atomic_cmpxchg(&lock->lck_mtx_state, prev, state, acquire)) { in lck_mtx_lock_spin_always() 347 if (!os_atomic_cmpxchg(&lock->lck_mtx_state, prev, state, acquire)) { in lck_mtx_try_lock_spin_always() 440 if (!os_atomic_cmpxchg(&lock->lck_mtx_state, prev, state, acquire)) { in lck_mtx_unlock()
|
| H A D | pmap_internal.h | 345 if (!mappingrecurse && os_atomic_cmpxchg(&mappingrecurse, 0, 1, acq_rel)) { in PV_HASHED_ALLOC() 378 if (!mappingrecurse && os_atomic_cmpxchg(&mappingrecurse, 0, 1, acq_rel)) { in PV_HASHED_KERN_ALLOC()
|
| H A D | locks_i386.c | 1411 if (os_atomic_cmpxchg(&mutex->lck_mtx_state, prev, state, acquire)) { in lck_mtx_interlock_lock_set_and_clear_flags() 1455 if (os_atomic_cmpxchg(&mutex->lck_mtx_state, prev, state, acquire)) { in lck_mtx_interlock_try_lock_set_flags()
|
| /xnu-8020.140.41/libkern/gen/ |
| H A D | OSAtomicOperations.c | 62 return (Boolean)os_atomic_cmpxchg(address, oldValue, newValue, acq_rel); in OSCompareAndSwap8() 69 return (Boolean)os_atomic_cmpxchg(address, oldValue, newValue, acq_rel); in OSCompareAndSwap16() 77 return (Boolean)os_atomic_cmpxchg(address, oldValue, newValue, acq_rel); in OSCompareAndSwap() 92 return (Boolean)os_atomic_cmpxchg(aligned_addr, oldValue, newValue, acq_rel); in OSCompareAndSwap64() 99 return (Boolean)os_atomic_cmpxchg(address, oldValue, newValue, acq_rel); in OSCompareAndSwapPtr()
|
| H A D | OSSpinLock.c | 43 return os_atomic_cmpxchg(lock, 0, 1, acquire); in OSSpinLockTry()
|
| /xnu-8020.140.41/osfmk/kern/ |
| H A D | kern_perfmon.c | 65 return os_atomic_cmpxchg(&perfmon_owners[kind], NULL, name, acq_rel); in perfmon_acquire() 79 if (!os_atomic_cmpxchg(&perfmon_owners[kind], name, NULL, acq_rel)) { in perfmon_release() 233 if (!os_atomic_cmpxchg(&active_configs[kind], NULL, config, acq_rel)) { in perfmon_configure() 253 if (!os_atomic_cmpxchg(&active_configs[kind], config, NULL, acq_rel)) { in perfmon_config_destroy()
|
| H A D | locks.c | 179 return os_atomic_cmpxchg(&lock->lock_data, 0, newval, acquire); in hw_lock_trylock_contended() 687 success = os_atomic_cmpxchg(&lock->lock_data, 0, in hw_lock_try_internal() 2020 if (os_atomic_cmpxchg(&gate->gt_data, 0, GATE_THREAD_TO_STATE(thread), acquire)) { in gate_try_close() 2055 if (os_atomic_cmpxchg(&gate->gt_data, 0, GATE_THREAD_TO_STATE(thread), acquire)) { in gate_close() 2116 if (os_atomic_cmpxchg(&gate->gt_data, GATE_THREAD_TO_STATE(thread), 0, release)) { in gate_open() 2217 if (os_atomic_cmpxchg(&gate->gt_data, GATE_THREAD_TO_STATE(thread), 0, release)) { in gate_handoff()
|
| H A D | restartable.c | 470 if (os_atomic_cmpxchg(&thread->t_rr_state, state, in thread_rr_wait_if_needed()
|
| H A D | mpsc_queue.c | 52 !os_atomic_cmpxchg(&q->mpqh_tail, &q->mpqh_head, last, release)) { in mpsc_queue_restore_batch()
|
| /xnu-8020.140.41/libkern/os/ |
| H A D | atomic_private.h | 667 #define os_atomic_cmpxchg(p, e, v, m) ({ \ macro 814 #define os_atomic_cmpxchg(p, e, v, m) _os_atomic_error_is_starvable(os_atomic_cmpxchg) macro
|
| /xnu-8020.140.41/bsd/kern/ |
| H A D | counter_test.c | 85 exclusive = os_atomic_cmpxchg(&scalable_counter_test_running, FALSE, TRUE, seq_cst); 107 exclusive = os_atomic_cmpxchg(&scalable_counter_test_running, TRUE, FALSE, seq_cst);
|
| H A D | kern_malloc.c | 224 if (os_atomic_cmpxchg(&tag->OSMT_state, in OSMalloc_Tagrele() 239 if (!os_atomic_cmpxchg(&tag->OSMT_state, in OSMalloc_Tagfree_external()
|
| H A D | vsock_domain.c | 604 if (!os_atomic_cmpxchg((void * volatile *)&the_vsock_transport, NULL, transport, acq_rel)) { in vsock_add_transport() 613 if (!os_atomic_cmpxchg((void * volatile *)&the_vsock_transport, transport, NULL, acq_rel)) { in vsock_remove_transport() 1404 if (!os_atomic_cmpxchg((volatile int *)&vsock_initialized, 0, 1, acq_rel)) { in vsock_init()
|
| H A D | kern_newsysctl.c | 2132 if (os_atomic_cmpxchg(&spec->modified, false, true, acq_rel)) { \
|
| /xnu-8020.140.41/libkern/libclosure/ |
| H A D | runtime.cpp | 75 #define OSAtomicCompareAndSwapLong(_Old, _New, _Ptr) os_atomic_cmpxchg(_Ptr, _Old, _New, relaxed) 76 #define OSAtomicCompareAndSwapInt(_Old, _New, _Ptr) os_atomic_cmpxchg(_Ptr, _Old, _New, relaxed)
|
| /xnu-8020.140.41/osfmk/arm64/ |
| H A D | dbgwrap.c | 118 if (!os_atomic_cmpxchg(&halt_from_cpu, (uint32_t)-1, (unsigned int)curcpu, acq_rel) && in ml_dbgwrap_halt_cpu()
|
| H A D | sleh.c | 459 os_atomic_cmpxchg(&original_faulting_state, NULL, state, seq_cst); in panic_with_thread_kernel_state()
|
| /xnu-8020.140.41/osfmk/arm/ |
| H A D | locks_arm.c | 997 if (os_atomic_cmpxchg(&lock->lck_mtx_data, in lck_mtx_lock() 1531 if (os_atomic_cmpxchg(&lock->lck_mtx_data, in lck_mtx_try_lock() 1648 if (os_atomic_cmpxchg(&lock->lck_mtx_data, in lck_mtx_unlock()
|
| /xnu-8020.140.41/doc/ |
| H A D | atomics.md | 220 There are two variants of `os_atomic_cmpxchg` which are wrappers around 225 1. `os_atomic_cmpxchg(address, expected, new_value, mem_order)` which 238 In C11 speak, `os_atomic_cmpxchg*` always specifies `memory_order_relaxed`
|
| /xnu-8020.140.41/osfmk/prng/ |
| H A D | entropy.c | 246 (void)os_atomic_cmpxchg(&e->sample_count, sample_count, sample_count + 1, release); in entropy_collect()
|
| /xnu-8020.140.41/osfmk/arm/commpage/ |
| H A D | commpage.c | 766 __unused bool ret = os_atomic_cmpxchg(approx_time_base, in commpage_update_mach_approximate_time()
|