Read/Write memory barriers in D?

Daniel Kozak via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Aug 13 04:58:56 PDT 2017


or maybe use core.atomic.atomicLoad and store with right
https://dlang.org/phobos/core_atomic.html#.MemoryOrder

On Sun, Aug 13, 2017 at 1:51 PM, Daniel Kozak <kozzi11 at gmail.com> wrote:

> maybe something like https://dlang.org/phobos/
> core_bitop.html#.volatileLoad and https://dlang.org/phobos/
> core_bitop.html#.volatileStore
>
> On Sun, Aug 13, 2017 at 1:37 PM, Igor via Digitalmars-d-learn <
> digitalmars-d-learn at puremagic.com> wrote:
>
>> I am converting a C code that uses this macro:
>>
>> #define CompletePastWritesBeforeFutureWrites _WriteBarrier();
>> _mm_sfence()
>>
>> As far as I see core.atomic:atomicFence() is the equivalent of
>> _mm_sfence() but I can't find what would be the equivalent of
>> _WriteBarrier(). As far as I understand it is used just to tell the
>> compiler it can't rearrange instructions during optimizations so subsequent
>> memory writes happen before previous ones. Same for _ReadBarrier().
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20170813/2e1eef49/attachment.html>


More information about the Digitalmars-d-learn mailing list