Lines Matching full:initialised

31  * Static values in C++ can be initialised lazily their first use.  This file
40 * accessed far more times than they are initialised, this lock implementation
42 * initialised.
75 * locking by loading the guard word and, if it is not initialised, trying to
107 * indicate the initialised state is `1<<InitBit`.
119 * The value indicating that the initialised bit is set (and all other
122 static constexpr GuardWord initialised = static_cast<GuardWord>(1) member
132 * Release the lock and set the initialised state. In the single-word
137 val.store(isInitialised ? initialised : 0, memory_order::release); in unlock()
139 GuardWord init_state = initialised; in unlock()
148 * already initialised.
154 // the lock is not held and the variable is not initialised (so the in try_lock()
161 // initialised, return that initialisation is done and skip further in try_lock()
163 if (old == initialised) in try_lock()
172 * Check whether the guard indicates that the variable is initialised.
176 return (val.load(memory_order::acquire) & initialised) == in is_initialised()
177 initialised; in is_initialised()
195 * The value of `init_word` when the guarded variable is initialised.
197 static constexpr uint32_t initialised = static_cast<uint32_t>(1) member in __anon58f003590111::DoubleWordGuard
201 * The word used for the initialised flag. This is always the first
217 * already initialised.
227 // lock and initialised bits together. Instead, we have an in try_lock()
228 // ordering rule that the initialised bit is only ever updated in try_lock()
244 * Set the initialised state and release the lock. In this
250 init_word.store(isInitialised ? initialised : 0, in unlock()
257 * Return whether the guarded variable is initialised.
261 return (init_word.load(memory_order::acquire) & initialised) == in is_initialised()
262 initialised; in is_initialised()
283 * atomic with the lock in the high bit and the initialised flag in the low
290 * with the lock in the low bit and the initialised bit in the highest
313 * initialised, and 1 if it has not. If the object is already constructed then
318 // Check if this is already initialised. If so, we don't have to do in __cxa_guard_acquire()
334 // initialised the lock while we were waiting, return immediately in __cxa_guard_acquire()
351 * Releases the lock without marking the object as initialised. This function
360 * Releases the guard and marks the object as initialised. This function is