Lines Matching full:guard
29 * guard.cc: Functions for thread-safe static initialisation.
66 * The Itanium C++ ABI defines guard words that are 64-bit (32-bit on AArch32)
73 * an ordering on them such that the guard word is never modified unless the
75 * locking by loading the guard word and, if it is not initialised, trying to
77 * manipulate the guard word.
82 * The state of the guard variable when an attempt is made to lock it.
105 * guard. The word size is defined by the type of `GuardWord`. The bit
126 * The guard variable.
172 * Check whether the guard indicates that the variable is initialised.
183 * guard variable.
268 "Single-word 32-bit guard must be 32 bits");
270 "Single-word 64-bit guard must be 64 bits");
272 "Double-word guard must be 64 bits");
278 using Guard = SingleWordGuard<uint32_t, 31, 0>; typedef
282 * On little-endian 64-bit platforms the guard word is a single 64-bit
286 using Guard = SingleWordGuard<uint64_t, 63, 0>; typedef
289 * On bit-endian 64-bit platforms, the guard word is a single 64-bit atomic
293 using Guard = SingleWordGuard<uint64_t, 0, 56>; typedef
300 using Guard = DoubleWordGuard<31, 0>; typedef
305 using Guard = DoubleWordGuard<0, 24>; typedef
312 * Acquires a lock on a guard, returning 0 if the object has already been
316 extern "C" int __cxa_guard_acquire(Guard *guard_object) in __cxa_guard_acquire()
354 extern "C" void __cxa_guard_abort(Guard *guard_object) in __cxa_guard_abort()
360 * Releases the guard and marks the object as initialised. This function is
363 extern "C" void __cxa_guard_release(Guard *guard_object) in __cxa_guard_release()