RFR: 8285487: Do not generate trampolines for runtime calls if they are not needed [v3]
Evgeny Astigeevich
duke at openjdk.java.net
Tue May 3 12:34:23 UTC 2022
On Mon, 2 May 2022 23:53:19 GMT, Xin Liu <xliu at openjdk.org> wrote:
>> So my assumption that `trampoline_call()` could be used for call outside CodeCache is wrong (and the method's comment is correct). I looked on few places where runtime call is generated and `trampoline_call()` indeed is used only for CodeCache (at least in places are looked on):
>> https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/aarch64/aarch64.ad#L3858
>>
>> My points 1. and 2. are void.
>>
>> Thank you for answering my questions 3. and 4.
>>
>> That also explains your `need_trampoline` code change.
>>
>> You answered all my questions. Please, do latest merge and updates if needed so I can review final changes.
>
> hi, @vnkozlov , @eastig
>> I would like to know why trampoline_call() could be used for relocInfo::virtual_call_type and relocInfo::opt_virtual_call_type (based on assert). They should be inside CodeCache and you don't need trampoline for it. Right?
>
> I take a look at `vmIntrinsics::does_virtual_dispatch`, it looks like there are 2 special intrinsics could be virtual.
> when c2 calls runtime stubs for them, we actually give up this optimization, right? Is it possible to include those 2 reloc types as well?
Hi Xin(@navyxliu),
> I take a look at vmIntrinsics::does_virtual_dispatch, it looks like there are 2 special intrinsics could be virtual.
when c2 calls runtime stubs for them, we actually give up this optimization, right?
What optimization are you referring to?
-------------
PR: https://git.openjdk.java.net/jdk/pull/8403
More information about the hotspot-dev
mailing list