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