[aarch64-port-dev ] 8248238: Implementation of JEP: Windows AArch64 Support

Andrew Haley aph at redhat.com
Wed Aug 26 13:05:28 UTC 2020


On 26/08/2020 13:05, Bernhard Urban-Forster wrote:
> On 25/08/2020 13:51, Andrew Haley wrote:
>> Can you argue why this is correct?
>>
>> +inline void OrderAccess::release() {
>> +  _WriteBarrier();
>> +  __dmb(_ARM64_BARRIER_ISHST);
>> +}
>
> Not exactly sure what your questions is. _WriteBarrier() is the compiler barrier [1] while __dmb() is the intrinsic [2] for said ARM64 instruction (note, it's not the macro assembler one).

DMB ST is not a release barrier. It's only a StoreStore; release needs
LoadStore|StoreStore. See the spec for DMB. But surely Microsoft C++
knows how to emit a release barrier.

-- 
Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671



More information about the aarch64-port-dev mailing list