RFR: 8280481: Duplicated stubs to interpreter for static calls

Evgeny Astigeevich duke at openjdk.org
Wed Aug 17 12:11:23 UTC 2022


On Tue, 5 Jul 2022 17:51:05 GMT, Evgeny Astigeevich <duke at openjdk.org> wrote:

>>> If we never patch the branch to the interpreter, we can optimize it at link time either to a direct branch or an adrp based far jump. I also created https://bugs.openjdk.org/browse/JDK-8286142 to reduce metadata mov instructions.
>> 
>> If we emit the address of the interpreter once, at the start of the stub section, we can replace the branch to the interpreter with
>> `ldr rscratch1, adr; br rscratch1`.
>
> Hi Andrew(@theRealAph),
> Your comments are usually highly useful and help to identify missed issues.
> Do you have any of them?
> Thanks,
> Evgeny

> Hi @eastig , I'd like to ask you how to get the experiment results, aka. `Saved bytes`, `Nmethods with shared stubs`,`Final # of nmethods`. Thank you!

You can get `Final # of nmethods` with `-XX:+PrintCodeCache`.
To get `Saved bytes`, `Nmethods with shared stubs` you need to instrument `emit_shared_stubs_to_interp` to count shared stubs and nmethods sharing them.

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

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


More information about the hotspot-dev mailing list