RFR: 8334898: Resolve static field/method references at CDS dump time [v2]

Ashutosh Mehra asmehra at openjdk.org
Fri Oct 24 18:18:18 UTC 2025


> This patch pre-resolves constant pool entries referred by getstatic, putstatic and invokestatic bytecodes in the assembly phase.
> It also extends ResolvedConstants.java test to run in AOT mode workflow and additional test for checking resolution of static CP entries.
> 
> Before this PR, stats on pre-resolved CP entries in the assembly phase reported by -Xlog:aot=info:
> 
> [2.161s][info ][aot        ] Class  CP entries =  12553, archived =   3707 ( 29.5%), reverted =      0
> [2.161s][info ][aot        ] Field  CP entries =   5236, archived =   1355 ( 25.9%), reverted =      0
> [2.161s][info ][aot        ] Method CP entries =   3835, archived =   3818 ( 99.6%), reverted =     17
> [2.161s][info ][aot        ] Indy   CP entries =      9, archived =      9 (100.0%), reverted =      0
> 
> 
> After this PR:
> 
> 2.323s][info ][aot        ] Class  CP entries =  12553, archived =   3700 ( 29.5%), reverted =      0
> [2.323s][info ][aot        ] Field  CP entries =   5236, archived =   3519 ( 67.2%), reverted =      0
> [2.323s][info ][aot        ] Method CP entries =  21027, archived =   5527 ( 26.3%), reverted =     17
> [2.323s][info ][aot        ] Indy   CP entries =    353, archived =      9 (  2.5%), reverted =      0

Ashutosh Mehra has updated the pull request incrementally with two additional commits since the last revision:

 - Do not resolve getstatic/putstatic CP entry if VM_Version::supports_fast_class_init_checks() is false
   
   Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>
 - Do not resolve invokestatic CP entry if
   VM_Version::supports_fast_class_init_checks() is false
   
   Signed-off-by: Ashutosh Mehra <asmehra at redhat.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/27958/files
  - new: https://git.openjdk.org/jdk/pull/27958/files/cb581318..5994ead4

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=27958&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=27958&range=00-01

  Stats: 10 lines in 1 file changed: 6 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/27958.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27958/head:pull/27958

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


More information about the hotspot-dev mailing list