RFR: 8365265: x86 short forward jump exceeds 8-bit offset in methodHandles_x86.cpp when using Intel APX
Srinivas Vamsi Parasa
sparasa at openjdk.org
Mon Aug 11 17:45:24 UTC 2025
The goal of this PR is to address the failure caused by x86 forward jump offset exceeding imm8 displacement when running the HotSpot jtreg test `test/hotspot/jtreg/compiler/c2/TestLWLockingCodeGen.java` using Intel APX (on SDE emulator).
This bug triggers an assertion failure in methodHandles_x86.cpp because the assembler emits a short forward jump (imm8 displacement) whose target is more than 127 bytes away, exceeding the allowed range. This appears to be caused by larger stub code size when APX instruction encoding is enabled.
The fix for this issue is to replace the `jccb` instruction with` jcc` in methodHandles_x86.cpp.
-------------
Commit messages:
- 8365265: x86 short forward jump exceeds 8-bit offset in methodHandles_x86.cpp when using Intel APX
Changes: https://git.openjdk.org/jdk/pull/26731/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26731&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8365265
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/26731.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26731/head:pull/26731
PR: https://git.openjdk.org/jdk/pull/26731
More information about the hotspot-compiler-dev
mailing list