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

Reply via email to