RFR: 8261027: AArch64: Support for LSE atomics C++ HotSpot code [v4]
Andrew Haley
aph at openjdk.java.net
Tue Feb 9 17:28:00 UTC 2021
On Mon, 8 Feb 2021 09:51:26 GMT, Andrew Haley <aph at openjdk.org> wrote:
>> src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 5579:
>>
>>> 5577: //
>>> 5578: // If LSE is in use, generate LSE versions of all the stubs. The
>>> 5579: // non-LSE versions are in atomic_aarch64.S.
>>
>> IMO it would be better for maintainability if the LSE versions were in atomic_aarch64.S too (with an explicit `.arch armv8-a+lse` directive). Is there any reason to generate them here, other than to support old toolchains? As far as I can tell GNU as supported LSE as far back as binutils 2.27.
>>
>> https://sourceware.org/binutils/docs-2.27/as/AArch64-Extensions.html
>
> I can't see any reason to do this.There's be no benefit to moving this stuff, and it would be harder to change in the future. I'd do the whole lot as runtime stubs if I could, but they're needed before VM startup.
And I should also have said: I intend to do highly-optimized versions of the LSE atomics in a subsequent PR, and I'd much prefer to do the work internally within HotSpot.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2434
More information about the hotspot-dev
mailing list