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

Volker Simonis simonis at openjdk.org
Fri Jul 5 13:48:19 UTC 2024


On Wed, 3 Jul 2024 09:56:24 GMT, Dmitry Chuyko <dchuyko 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.

Thanks for doing this downport. Looks good to me.

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.

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

Marked as reviewed by simonis (Reviewer).

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


More information about the jdk-updates-dev mailing list