RFR: 8322630: Remove ICStubs and related safepoints [v8]
Erik Österlund
eosterlund at openjdk.org
Fri Feb 9 09:43:09 UTC 2024
On Thu, 8 Feb 2024 21:38:37 GMT, Dean Long <dlong at openjdk.org> wrote:
>> Erik Österlund has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Update src/hotspot/share/code/compiledIC.hpp
>>
>> Co-authored-by: Thomas Schatzl <59967451+tschatzl at users.noreply.github.com>
>
> src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp line 1463:
>
>> 1461: __ jump(RuntimeAddress(SharedRuntime::get_ic_miss_stub()));
>> 1462:
>> 1463: // verified entry must be aligned for code patching.
>
> This comment still seems relevant.
Good point, resurrecting the comment.
> src/hotspot/share/c1/c1_LIRAssembler.cpp line 612:
>
>> 610: // init offsets
>> 611: offsets()->set_value(CodeOffsets::OSR_Entry, _masm->offset());
>> 612: _masm->align(CodeEntryAlignment);
>
> So we used to unconditionally align here, but never set CodeOffsets::Entry, meaning we got the default offset of 0 and the entry had to execute the alignment NOPs.
Yes. I found those nops to sometimes be expensive. So in the new model, it's a bug for the VEP to not already be aligned, from the UEP, so we can skip executing the padding nops.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17495#discussion_r1484078846
PR Review Comment: https://git.openjdk.org/jdk/pull/17495#discussion_r1484081379
More information about the shenandoah-dev
mailing list