RFR: 8271911: replay compilations of methods which use JSR292 (easy cases)

Dean Long dlong at openjdk.java.net
Fri Aug 27 00:42:42 UTC 2021


There is a subset of the general problem that we should be able to solve by looking at invokedynamic/invokehandle call sites and MethodHandle constant pool entries. If a replay references a hidden class that is discoverable in one of those locations, then we can use the location as a replacement for the transient VM name.

Examples of references to hidden class locations:

@bci compiler/ciReplay/CiReplayBase$TestMain test (I)V 1 <appendix> argL0 ;
@bci compiler/ciReplay/CiReplayBase$TestMain main ([Ljava/lang/String;)V 0 <appendix> form vmentry <vmtarget> ;
@cpi compiler/ciReplay/CiReplayBase$TestMain 56 form vmentry <vmtarget> ;

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

Commit messages:
 - fix printf warning
 - name hidden classes based on how they are reachable

Changes: https://git.openjdk.java.net/jdk/pull/5270/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5270&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8271911
  Stats: 678 lines in 11 files changed: 646 ins; 9 del; 23 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5270.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5270/head:pull/5270

PR: https://git.openjdk.java.net/jdk/pull/5270


More information about the hotspot-compiler-dev mailing list