RFR: 8271911: replay compilations of methods which use JSR292 (easy cases) [v2]
Vladimir Ivanov
vlivanov at openjdk.java.net
Wed Sep 1 13:08:45 UTC 2021
On Mon, 30 Aug 2021 22:55:56 GMT, Dean Long <dlong at openjdk.org> wrote:
>> 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> ;
>
> Dean Long has updated the pull request incrementally with one additional commit since the last revision:
>
> rename LocPusher --> RecordLocation, add comments
Very nice work, Dean!
src/hotspot/share/ci/ciEnv.cpp line 1537:
> 1535:
> 1536: // Iterate over the class hierarchy
> 1537: for (ClassHierarchyIterator iter(vmClasses::Object_klass()); !iter.done(); iter.next()) {
Why do you iterate over the whole class hierarchy instead of inspecting only those classes which are present in CI?
-------------
PR: https://git.openjdk.java.net/jdk/pull/5270
More information about the hotspot-compiler-dev
mailing list