RFR: 8330388: Remove invokedynamic cache index encoding
Matias Saavedra Silva
matsaave at openjdk.org
Wed Apr 17 18:53:25 UTC 2024
Before [JDK-8307190](https://bugs.openjdk.org/browse/JDK-8307190), [JDK-8309673](https://bugs.openjdk.org/browse/JDK-8309673), and [JDK-8301995](https://bugs.openjdk.org/browse/JDK-8301995), invokedynamic operands needed to be rewritten to encoded values to better distinguish indy entries from other cp cache entries. The above changes now distinguish between entries with `to_cp_index()` using the bytecode, which is now propagated by the callers.
The encoding flips the bits of the index so the encoded index is always negative, leading to access errors if there is no matching decode call. These calls are removed with some methods adjusted to distinguish between indices with the bytecode. Verified with tier 1-5 tests.
-------------
Commit messages:
- 8330388: Remove invokedynamic cache index encoding
Changes: https://git.openjdk.org/jdk/pull/18819/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18819&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8330388
Stats: 220 lines in 37 files changed: 15 ins; 136 del; 69 mod
Patch: https://git.openjdk.org/jdk/pull/18819.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/18819/head:pull/18819
PR: https://git.openjdk.org/jdk/pull/18819
More information about the serviceability-dev
mailing list