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