RFR: 8285487: Do not generate trampolines for runtime calls if they are not needed [v3]

Xin Liu xliu at openjdk.java.net
Wed May 4 06:11:18 UTC 2022


On Tue, 3 May 2022 12:30:57 GMT, Evgeny Astigeevich <duke at openjdk.java.net> wrote:

>> 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?

hi, 

For both LibraryCallKit::inline_native_hashcode(), inline_native_clone(), they may generate runtime calls with rrelocInfo::opt_virtual_call_type.  current trampoline_call() opts out this optimization for them, right?

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

PR: https://git.openjdk.java.net/jdk/pull/8403


More information about the hotspot-dev mailing list