Lines Matching defs:InitByteFutex
405 struct InitByteFutex : GuardObject<InitByteFutex<Wait, Wake, GetThreadIDArg>> { struct
406 using BaseT = typename InitByteFutex::GuardObject; argument
409 explicit InitByteFutex(uint32_t *g) : BaseT(g), in InitByteFutex() argument
415 explicit InitByteFutex(uint64_t *g) : BaseT(g), in InitByteFutex() function
421 AcquireResult acquire_init_byte() { in acquire_init_byte()
465 void release_init_byte() { in release_init_byte()
471 void abort_init_byte() { in abort_init_byte()
484 void wait_on_initialization() { in wait_on_initialization()
488 void wake_all() { Wake(static_cast<int*>(this->base_address)); } in wake_all()
493 const bool has_thread_id_support;
495 AtomicInt<uint32_t> thread_id;
496 LazyValue<uint32_t, GetThreadIDArg> current_thread_id;
501 static int expected_value_for_futex(uint8_t b) { in expected_value_for_futex()