RFR: 8282365: Optimize divideUnsigned and remainderUnsigned for constants [v4]

Vladimir Kozlov kvn at openjdk.org
Tue Sep 27 20:56:34 UTC 2022


On Tue, 27 Sep 2022 20:12:18 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> Quan Anh Mai has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 20 commits:
>> 
>>  - code styles
>>  - Merge branch 'master' into unsignedDiv
>>  - Merge branch 'master' into unsignedDiv
>>  - Merge branch 'master' into unsignedDiv
>>  - micro
>>  - whitespace
>>  - whitespace
>>  - large divisor
>>  - fix build
>>  - fix 32-bit
>>  - ... and 10 more: https://git.openjdk.org/jdk/compare/3419363e...156f65c0
>
> src/hotspot/share/opto/divnode.cpp line 1142:
> 
>> 1140:   }
>> 1141: 
>> 1142:   // Divisor very large, constant 2**31 can be transform to a shift
> 
> @vnkozlov Oh the transformation is here

It only works for cases with narrowed type. Which is not common case unless Java user's code check for that.

-------------

PR: https://git.openjdk.org/jdk/pull/9947


More information about the hotspot-compiler-dev mailing list