Integrated: 8314249: Refactor handling of invokedynamic in JVMCI ConstantPool

Ioi Lam iklam at openjdk.org
Thu Aug 17 22:54:36 UTC 2023


On Tue, 15 Aug 2023 20:03:20 GMT, Ioi Lam <iklam at openjdk.org> wrote:

> This PR is part of the clean up JVMCI to track [JDK-8301993](https://bugs.openjdk.org/browse/JDK-8301993), where the  constant pool cache is being removed (as of now, only method references use the CpCache).
> 
> 1. `rawIndexToConstantPoolIndex()` is used only for the `invokedynamic` bytecode. It should be renamed to `indyIndexConstantPoolIndex()`
> 
> 2. `rawIndexToConstantPoolCacheIndex()` should not be called for the `invokedynamic` bytecode, which doesn't use cpCache entries after [JDK-8301995](https://bugs.openjdk.org/browse/JDK-8301995).
> 
> 3. Some `cpi` parameters should be renamed to `rawIndex` or `which`
> 
> 4. Added a test case for `ConstantPool.lookupAppendix()`, which was not tested in the JDK repo.
> 
> I added comments about the 4 types of indices used in HotSpotConstantPool.java: `cpi`, `rawIndex`, `cpci` and `which`. The latter two types will be removed after [JDK-8301993](https://bugs.openjdk.org/browse/JDK-8301993) is complete.
> 
> Note that there are still some incorrect use of `cpi` in the implementation and test cases. Those will be cleaned up in [JDK-8314172](https://bugs.openjdk.org/browse/JDK-8314172)

This pull request has now been integrated.

Changeset: 0299364d
Author:    Ioi Lam <iklam at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/0299364d85a66c35e616148cbbde314b7d4fb05a
Stats:     189 lines in 6 files changed: 121 ins; 23 del; 45 mod

8314249: Refactor handling of invokedynamic in JVMCI ConstantPool

Reviewed-by: dnsimon, coleenp

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

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


More information about the hotspot-compiler-dev mailing list