implicit conversions to/from shared

ag0aep6g via Digitalmars-d digitalmars-d at puremagic.com
Tue Jul 12 06:09:02 PDT 2016


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)?


More information about the Digitalmars-d mailing list