RFR: 8357660: [JVMCI] Add support for retrieving all BootstrapMethodInvocations directly from ConstantPool [v5]

Tom Shull duke at openjdk.org
Wed Jun 4 08:07:40 UTC 2025


> This PR adds support for directly retrieving both all invokedynamic and all condy BootstrapMethodInvocations from a ConstantPool via the new method `List<BootstrapMethodInvocation> lookupBootstrapMethodInvocations(boolean invokeDynamic)`.
> 
> In addition, two methods are added to the BootstrapMethodInvocations:
> 1. `void resolve()`
> 2. `JavaConstant lookup()`
> 
> The combination of these two features allows one to directly interact with all BSM information of a given ConstantPool without having to iterate through all of the Classfile's methods to find all invokedynamic bytecodes and/or iterate through all Constant Pool entries.

Tom Shull has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 12 additional commits since the last revision:

 - Merge remote-tracking branch 'origin/master' into JDK-8357660
 - Merge remote-tracking branch 'origin/master' into JDK-8357660
 - commit to trigger testing
 - commit to trigger testing
 - reviewer feedback and update javadoc formatting
 - complete changes
 - commit review suggestion
   
   Co-authored-by: Douglas Simon <doug.simon at oracle.com>
 - commit review suggestion
   
   Co-authored-by: Douglas Simon <doug.simon at oracle.com>
 - change to allow both indys and condys to be looked up all at once
 - address reviewer feedback
 - ... and 2 more: https://git.openjdk.org/jdk/compare/826fea84...c7f5c1a7

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25420/files
  - new: https://git.openjdk.org/jdk/pull/25420/files/e0707fb8..c7f5c1a7

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25420&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25420&range=03-04

  Stats: 3303 lines in 64 files changed: 2485 ins; 442 del; 376 mod
  Patch: https://git.openjdk.org/jdk/pull/25420.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25420/head:pull/25420

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


More information about the hotspot-compiler-dev mailing list