RFR: 8261649: AArch64: Optimize LSE atomics in C++ code

Andrew Haley aph at openjdk.java.net
Thu Feb 18 09:22:39 UTC 2021


On Wed, 17 Feb 2021 17:51:35 GMT, Andrew Dinn <adinn at openjdk.org> wrote:

>> 8261649: AArch64: Optimize LSE atomics in C++ code
>
> src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.S line 75:
> 
>> 73:         .align 5
>> 74: aarch64_atomic_cmpxchg_1_default_impl:
>> 75:         dmb     ish
> 
> Having argued above that this dmb is never needed why is it in this default impl? (also for size 4 and 8)

The default impl uses  ARMv8 LDXR ... STXR but the DMB is not needed if and only if ARMv8.1 LSE instructions.

-------------

PR: https://git.openjdk.java.net/jdk/pull/2611


More information about the hotspot-dev mailing list