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