[jdk17u-dev] RFR: 8305959: x86: Improve itable_stub

Dmitry Chuyko dchuyko at openjdk.org
Mon Jul 8 12:46:35 UTC 2024


On Fri, 5 Jul 2024 13:43:13 GMT, Volker Simonis <simonis at openjdk.org> wrote:

>> This is a performance backport from 21. Original patch was applied mostly cleanly. Few bits required slight tuning. 
>> 
>> Straightforward replacements were made in in macroAssembler_x86.cpp because of missing JDK-8308396 refactoring (21):
>> in_bytes(itableMethodEntry::method_offset()) to itableMethodEntry::method_offset_in_bytes(),
>> in_bytes(itableOffsetEntry::interface_offset()) to itableOffsetEntry::interface_offset_in_bytes(),
>> in_bytes(itableOffsetEntry::offset_offset()) to itableOffsetEntry::offset_offset_in_bytes().
>> 
>> One java import hunk was manually redone in the benchmark class.
>> 
>> Testing: linux x86 tier1,2; the benchmark shows improvements similar to original results.
>
> src/hotspot/cpu/x86/vtableStubs_x86_64.cpp line 176:
> 
>> 174: 
>> 175:   // Most registers are in use; we'll use rax, rbx, r10, r11
>> 176:   // (various calling sequences use r[cd]x, r[sd]i, r[89]; stay away from them)
> 
> We forgot to add `r14` to the comment about used registers. But that was already the case in the original change, so I think it's fine too leave it as is.

Thank you for the review. Yes, it looks right to add comments upstream.

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

PR Review Comment: https://git.openjdk.org/jdk17u-dev/pull/2654#discussion_r1668562643


More information about the jdk-updates-dev mailing list