RFR: 8282664: Unroll by hand StringUTF16 and StringLatin1 polynomial hash loops [v2]
Claes Redestad
redestad at openjdk.org
Mon Oct 31 12:28:10 UTC 2022
On Mon, 31 Oct 2022 02:34:06 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
>> Claes Redestad has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Reorder loops and some other suggestions from @merykitty
>
> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 3484:
>
>> 3482: decrementl(index);
>> 3483: jmpb(LONG_SCALAR_LOOP_BEGIN);
>> 3484: bind(LONG_SCALAR_LOOP_END);
>
> You can share this loop with the scalar ones above.
This might be messier than it first looks, since the two different loops use different temp registers based (long scalar can scratch cnt1, short scalar scratches the coef register). I'll have to think about this for a bit.
> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 3523:
>
>> 3521: subl(index, 32);
>> 3522: // i >= 0;
>> 3523: cmpl(index, 0);
>
> You don't need this since `subl` sets flags according to the result.
Fixed
-------------
PR: https://git.openjdk.org/jdk/pull/10847
More information about the shenandoah-dev
mailing list