RFR: 8271911: replay compilations of methods which use JSR292 (easy cases) [v2]
Vladimir Ivanov
vlivanov at openjdk.java.net
Thu Sep 2 12:42:28 UTC 2021
On Thu, 2 Sep 2021 12:35:41 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Good question. It is because of the section in ciInstanceKlass::dump_replay_data that dumps subclasses. If one of the CI classes is java.lang.Object, we can get a lot of hidden classes dumped there from startup that are unrelated to the current compile. I wanted to see how many I could find as a proof of concept / stress test. My plan is to see if we can completely do without subclass dumping there by dumping better CHA information (JDK-8261192).
>
> I still miss the connection between `ciInstanceKlass::dump_replay_data()` and `ciEnv::find_dynamic_call_sites()` cases.
>
> `ciEnv::find_dynamic_call_sites()` dumps all invokedynamic and invokehandle (MH.invoke*()) call sites and MethodHandle CP Constants across the class hierarchy. Any particular benefit compared to just dumping that info on per ciInstanceKlass granularity?
Also, one more question: why do you dump MethodHandle CP constants and invokehandle call sites? Is it to record the connection between MethodHandle instances and hidden classes behind LambdaForms they are implemented with?
-------------
PR: https://git.openjdk.java.net/jdk/pull/5270
More information about the hotspot-compiler-dev
mailing list