RFR: 8265756: AArch64: initialize memory allocated for locals according to Windows AArch64 stack page growth requirement in template interpreter
Aleksei Voitylov
avoitylov at openjdk.java.net
Thu Apr 22 16:01:53 UTC 2021
Hi,
please review this PR which fixes several JCK test failures on Windows AArch64. On Windows AArch64, the order in which the pages are touched during stack allocation, matters. Here is a quote: "Functions that allocate 4k or more worth of stack must ensure that each page prior to the final page is touched in order" [1]. Since on Linux and Mac the order does not matter, the suggested fix reverses the order in which memory pages are touched during stack allocation for locals in template interpreter for all platforms.
Testing: JCK, jtreg, newly developed regression test on Linux AArch64, Windows AArch64, Mac AArch64, Pre-submit tests (which includes the newly developed test).
[1] https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-160#stack
-------------
Commit messages:
- add reproducer to jtreg
- JDK-8265756: AArch64: initialize memory allocated for locals according to Windows AArch64 stack page growth requirement in template interpreter
Changes: https://git.openjdk.java.net/jdk/pull/3633/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3633&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8265756
Stats: 112 lines in 3 files changed: 105 ins; 5 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/3633.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3633/head:pull/3633
PR: https://git.openjdk.java.net/jdk/pull/3633
More information about the hotspot-dev
mailing list