10 explicit constexpr SpinlockWord(
bool locked =
false) : m_Value(locked ? 0 : 1) {}
13 processor_register_t expected = 1;
14 return __atomic_compare_exchange_n(&m_Value, &expected, 0,
false, __ATOMIC_ACQUIRE,
19 return __atomic_load_n(&m_Value, __ATOMIC_RELAXED) == 0;
23 __atomic_store_n(&m_Value, 1, __ATOMIC_RELEASE);
27 processor_register_t expected = 0;
28 return __atomic_compare_exchange_n(&m_Value, &expected, 1,
false, __ATOMIC_RELEASE,
37 volatile processor_register_t m_Value;