[jdk11u-dev] RFR: 8253015: Aarch64: Move linux code out from generic CPU feature detection [v2]

Anton Kozlov akozlov at openjdk.java.net
Mon Aug 30 11:03:26 UTC 2021


On Mon, 30 Aug 2021 05:49:38 GMT, Reka Kovacs <github.com+25946952+rnkovacs at openjdk.org> wrote:

>> Not a clean backport. Differences to the original commit:
>> 
>> - Changes to files under `src/hotspot/cpu/aarch64/` and `src/hotspot/os_cpu/linux_aarch64/` are adjusted to cover hardware features supported in JDK 11.
>> - As JDK 11 is built using an older C++ standard than tip, `static_assert`s need to be replaced with `STATIC_ASSERT` macros in `vm_version_linux_aarch64.cpp`.
>> - The GraalVM related changes in `vmStructs_jvmci.cpp`, `AArch64HotSpotLIRGenerator.java` and `GraalHotSpotVMConfig.java` are skipped as they seem to be modifying code added in JDK 14 ([JDK-8226222](https://bugs.openjdk.java.net/browse/JDK-8226222) and [JDK-8231973](https://bugs.openjdk.java.net/browse/JDK-8229201)).
>> 
>> This is part of the Windows/AArch64 port.
>
> Reka Kovacs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
> 
>  - Backport ec9bee68660acd6abf0b4dd4023ae69514542256
>  - Backport a4eaf9536c272862b5ec856bf263679be09bddc9

Thanks  for taking care of this.

Original change introduced two regressions which were fixed in:
* JDK-8255975: Fix AArch64 OpenJDK build failure with gcc-5 --  but it is not a problem for this change, since `STATIC_ASSERT` is used
* JDK-8255716: AArch64: Regression: JVM crashes if manually offline a core -- this is still a problem for this backport

I'm not sure is it better to backport JDK-8255716 separately or, considering that the follow-up change is small, to add that into this change (like adding another commit in the PR and do `/issue add` manually as described in https://wiki.openjdk.java.net/display/SKARA/Pull+Request+Commands#PullRequestCommands-/issue)

src/hotspot/os_cpu/linux_aarch64/vm_version_linux_aarch64.cpp line 119:

> 117:     fclose(f);
> 118:   }
> 119:   guarantee(cpu_lines == os::processor_count(), "core count should be consistent");

This line  was later removed in https://bugs.openjdk.java.net/browse/JDK-8255716

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

PR: https://git.openjdk.java.net/jdk11u-dev/pull/299


More information about the jdk-updates-dev mailing list