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