RFR: 8314249: Refactor handling of invokedynamic in JVMCI ConstantPool [v2]

Coleen Phillimore coleenp at openjdk.org
Wed Aug 16 19:53:08 UTC 2023


On Wed, 16 Aug 2023 19:34:32 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)
>
> Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:
> 
>   @dougxc comments - fixed typos

This makes sense.  Do we run this test with hotspot testing?

src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/HotSpotConstantPool.java line 588:

> 586:     @Override
> 587:     public BootstrapMethodInvocation lookupBootstrapMethodInvocation(int index, int opcode) {
> 588:         int cpi = opcode == -1 ? index : indyIndexConstantPoolIndex(index, opcode);

Why would opcode be -1 here?

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

Marked as reviewed by coleenp (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/15297#pullrequestreview-1581310736
PR Review Comment: https://git.openjdk.org/jdk/pull/15297#discussion_r1296357340


More information about the hotspot-compiler-dev mailing list