Read/Write memory barriers in D?

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


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/923b9aa2/attachment.html>


More information about the Digitalmars-d-learn mailing list