RFR: 8248238: Implementation of JEP: Windows AArch64 Support [v5]

David Holmes dholmes at openjdk.java.net
Thu Sep 24 05:00:16 UTC 2020


On Wed, 23 Sep 2020 13:23:43 GMT, Monica Beckwith <mbeckwit at openjdk.org> wrote:

>> This is a continuation of https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009566.html
>>  
>> Changes since then:
>> * We've improved the write barrier as suggested by Andrew [1]
>> * The define-guards around R18 have been changed to `R18_RESERVED`. This will be enabled for Windows only for now but
>>   will be required for the upcoming macOS+Aarch64 [2] port as well.
>> * We've incorporated https://github.com/openjdk/jdk/pull/154 by @AntonKozlov in our PR for now and built the
>>   Windows-specific CPU feature detection on top of it.
>> 
>> [1] https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009597.html
>> [2] https://openjdk.java.net/jeps/8251280
>
> Monica Beckwith has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Update orderAccess_windows_aarch64.hpp
>   
>   changing from Acq-reL to Sequential Consistency to avoid compiler reordering when no ordering hints are provided

I've mainly looked at the non-Aarch64 specific changes. A couple of minor comments below.

src/hotspot/os/windows/os_windows.cpp line 2546:

> 2544:
> 2545: #ifdef _M_ARM64
> 2546:       // Unsafe memory access

I'm not at all clear why this unsafe memory access handling is for Aarch64 only?

src/hotspot/share/runtime/stubRoutines.cpp line 397:

> 395:   // test safefetch routines
> 396:   // Not on Windows 32bit until 8074860 is fixed
> 397: #if ! (defined(_WIN32) && defined(_M_IX86)) && !defined(_M_ARM64)

The comment needs updating to refer to Aarch64.

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

Marked as reviewed by dholmes (Reviewer).

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


More information about the core-libs-dev mailing list