On 07/12/2016 02:28 PM, Kagamin wrote:
On Monday, 11 July 2016 at 13:54:49 UTC, ag0aep6g wrote:
Also currently atomicLoad doesn't provide functionality
equivalent to raw load.
Is a "raw load" just a non-atomic load, or is it something special?
What's the relevance of atomicLoad's capabilities?
You suggested to use atomicLoad to access shared data. Raw atomic load
is an assembler instruction and can't be optimized.
Correct me if I'm wrong: Currently, the compiler generates a non-atomic
load for reading shared data. In particular, it doesn't generate a raw
atomic load. And you say you can't do a raw atomic load with
core.atomic.atomicLoad.
Then how does one do a raw atomic load at the moment? Does it become
harder or impossible when the language is changed in one of the two
suggested ways (generate another kind of atomic load / outright reject
reading of shared types)?