Lines Matching refs:be
44 - an *explicit* variant where memory orderings can be specified,
96 functions do not need to be marked `_Atomic` or `volatile`
103 2. `os_atomic_*` cannot be coalesced by the compiler:
108 orderings must be provided and can express either memory orders
124 `__sync_*`, `__c11_*` and `__atomic_*` compiler builtins should not be used.
126 `<stdatomic.h>` functions may be used if:
134 be aware that a direct access to this variable will
137 The *consume* memory ordering should not be used
142 and these functions should not be used in new code.
168 `os_atomic_store_wide` can be used to have access to atomic loads and store
232 which has an extra `orig_value` argument which must be a pointer to a local
233 variable and will be filled with the current value at `address` whether the
235 will always be `expected`, however in case of failure it will be filled with
286 be a CAS loop, and exposes the ordering upfront, while for traditional CAS loops
289 Any control flow that attempts to exit its scope of the loop needs to be
300 before the loop should be used in this way:
337 implicit compiler barrier, that can be used as a root for a chain of hardware
348 - dependencies may be injected into other loads not performed through this
352 Here is an example of how it is meant to be used:
404 2. `os_atomic_inject_dependency` can be used to inject the dependency provided
418 crafted dependency chains. Hopefully there will be a future C2Y standard that