dragonwell-project / dragonwell11

Alibaba Dragonwell11 JDK
https://www.aliyun.com/product/dragonwell
GNU General Public License v2.0
557 stars 112 forks source link

[Backport] 8307352: AARCH64: Improve itable_stub #764

Closed linade closed 8 months ago

linade commented 8 months ago

Minor conflicts:

1 conflict in src/hotspot/cpu/aarch64/assembler_aarch64.hpp: tip: guarantee(ext().shift() <= 0 || ext().shift() == (int)size, "bad shift"); dw11: guarantee(_ext.shift() <= 0 || _ext.shift() == (int)size, "bad shift");

3 conflicts in src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp similar to: tip: int ioffset = in_bytes(itableOffsetEntry::interface_offset()); dw11: int ioffset = itableOffsetEntry::interface_offset_in_bytes();

Summary: Improve performance of itable stub on aarch64

Test Plan: hotspot/jtreg

Reviewed-by: kuaiwei, sandlerwang

Issue: https://github.com/dragonwell-project/dragonwell11/issues/763

linade commented 8 months ago

Code size grows by approximately 20 bytes

So I increased this estimate @mmyxym : const ptrdiff_t estimate = UseCompactObjectHeaders ? 148 : 144;