Lines Matching +full:64 +full:bit

37  * Statics that require initialisation are protected by a 64-bit value.  Any
38 * platform that can do 32-bit atomic test and set operations can use this
66 * The Itanium C++ ABI defines guard words that are 64-bit (32-bit on AArch32)
67 * values with one bit defined to indicate that the guarded variable is and
68 * another bit to indicate that it's currently locked (initialisation in
69 * progress). The bit to use depends on the byte order of the target.
71 * On many 32-bit platforms, 64-bit atomics are unavailable (or slow) and so we
72 * treat the two halves of the 64-bit word as independent values and establish
105 * guard. The word size is defined by the type of `GuardWord`. The bit
106 * used to indicate the locked state is `1<<LockedBit`, the bit used to
113 * The value indicating that the lock bit is set (and no other bits).
119 * The value indicating that the initialised bit is set (and all other
182 * Class encapsulating using two 32-bit atomic values to represent a 64-bit
228 // ordering rule that the initialised bit is only ever updated in try_lock()
245 * implementation, this is ordered, not atomic: the initialise bit is
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");
276 * The Arm PCS defines a variant of the Itanium ABI with 32-bit lock words.
282 * On little-endian 64-bit platforms the guard word is a single 64-bit
283 * atomic with the lock in the high bit and the initialised flag in the low
284 * bit.
289 * On bit-endian 64-bit platforms, the guard word is a single 64-bit atomic
290 * with the lock in the low bit and the initialised bit in the highest
298 * 32-bit platforms use the same layout as 64-bit.
303 * 32-bit platforms use the same layout as 64-bit.