digitalmars.D.learn - Is there further documentation of core.atomic.MemoryOrder?
- Nathan S. (3/3) Sep 13 2017 Is there a formal description of "hoist-load", "hoist-store",
- Johan Engelen (17/21) Sep 17 2017 You can read this:
- Nathan S. (3/3) Oct 03 2017 Thank you. For anyone else with the same question, I also found
Is there a formal description of "hoist-load", "hoist-store", "sink-load", and "sink-store" as used in core.atomic.MemoryOrder (https://dlang.org/library/core/atomic/memory_order.html)?
Sep 13 2017
On Wednesday, 13 September 2017 at 14:40:55 UTC, Nathan S. wrote:Is there a formal description of "hoist-load", "hoist-store", "sink-load", and "sink-store" as used in core.atomic.MemoryOrder (https://dlang.org/library/core/atomic/memory_order.html)?You can read this: https://llvm.org/docs/Atomics.html#atomic-orderings And use this: ``` static if (ms == MemoryOrder.acq) { enum _ordering = AtomicOrdering.Acquire; } else static if (ms == MemoryOrder.rel) { enum _ordering = AtomicOrdering.Release; } else static if (ms == MemoryOrder.seq) { enum _ordering = AtomicOrdering.SequentiallyConsistent; } else static if (ms == MemoryOrder.raw) { enum _ordering = AtomicOrdering.Monotonic; } ``` -Johan
Sep 17 2017
Thank you. For anyone else with the same question, I also found this page helpful: http://en.cppreference.com/w/cpp/atomic/memory_order
Oct 03 2017