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

Tom Shull duke at openjdk.org
Tue Jun 3 17:52:30 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 11 additional commits since the last revision:

 - 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
 - style fixes and add testing to TestDynamicConstants.
 - ... and 1 more: https://git.openjdk.org/jdk/compare/7bf6d3ed...e0707fb8

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

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

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

  Stats: 63637 lines in 1081 files changed: 34781 ins; 18003 del; 10853 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