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