RFR: 8349102: Test compiler/arguments/TestCodeEntryAlignment.java failed: assert(allocates2(pc)) failed: not in CodeBuffer memory
Andrew Dinn
adinn at openjdk.org
Tue Feb 4 13:48:41 UTC 2025
…assert(allocates2(pc)) failed: not in CodeBuffer memory
The StubGenenerator compiler blob runs out of space when TestCodeEntryAlignment is run on macos/x86_64 on an avx2-only CPU. This only happens in the worst case with command line options `-XX:CodeCacheSegmentSize=1024 -XX:CodeEntryAlignment=1024`.
On linux/x86_64 the test succeeds in that worst case when run on an avx512-enabled CPU but with only 980 bytes of headroom.
This patch increments the buffer size on x86_64 to ensure both the avx2 and avx3 cases have enough headroom.
n.b. the increment has deliberately been made x86_64-specific rather than macos-specific, even though this problem manifests when testing MacOS and does not manifest when testing Linux. The disparity in generated stubs size actually relates to the capabilities of the CPU and is independent of OS.
-------------
Commit messages:
- 8349102: Test compiler/arguments/TestCodeEntryAlignment.java failed: assert(allocates2(pc)) failed: not in CodeBuffer memory
Changes: https://git.openjdk.org/jdk/pull/23439/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23439&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8349102
Stats: 3 lines in 2 files changed: 0 ins; 2 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/23439.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23439/head:pull/23439
PR: https://git.openjdk.org/jdk/pull/23439
More information about the hotspot-compiler-dev
mailing list