Integrated: 8330388: Remove invokedynamic cache index encoding

Matias Saavedra Silva matsaave at openjdk.org
Tue Apr 23 15:05:34 UTC 2024


On Wed, 17 Apr 2024 15:26:52 GMT, Matias Saavedra Silva <matsaave at openjdk.org> wrote:

> 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. The changes show no issues when tested against libgraal.

This pull request has now been integrated.

Changeset: 383fe6ea
Author:    Matias Saavedra Silva <matsaave at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/383fe6eaab423a1218c9915362f691472e3773e7
Stats:     225 lines in 37 files changed: 15 ins; 137 del; 73 mod

8330388: Remove invokedynamic cache index encoding

Reviewed-by: cjplummer, dlong, coleenp

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

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


More information about the serviceability-dev mailing list