RFR: 8369946: Bytecode rewriting causes Java heap corruption on PPC

Martin Doerr mdoerr at openjdk.org
Fri Oct 17 12:21:23 UTC 2025


Like the aarch64 fix (https://github.com/openjdk/jdk/pull/27748).
PPC64 has additional requirements:
- It implements `fast_invokevfinal` which uses `ResolvedMethodEntry`.
- Speculative loads need to get prevented by memory barrier instructions (even on control dependent paths).

I've refactored `load_field_entry` and `load_method_entry` into a common function and added support for rewritten "fast" Bytecodes. I'm using `isync` instructions because we already have a control dependency (via Bytecode dispatch).

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

Commit messages:
 - 8369946: Bytecode rewriting causes Java heap corruption on PPC

Changes: https://git.openjdk.org/jdk/pull/27867/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27867&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8369946
  Stats: 36 lines in 3 files changed: 12 ins; 4 del; 20 mod
  Patch: https://git.openjdk.org/jdk/pull/27867.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27867/head:pull/27867

PR: https://git.openjdk.org/jdk/pull/27867


More information about the hotspot-compiler-dev mailing list