RFR: 8217519: Improve RegMask population count calculation
Claes Redestad
claes.redestad at oracle.com
Wed Jan 23 09:36:24 UTC 2019
Nils, Vladimir, Tobias,
thanks for reviewing - pushed.
/Claes
On 2019-01-23 10:23, Nils Eliasson wrote:
> Excellent!
>
> Thanks for fixing!
>
> // Nils
>
> On 2019-01-22 17:06, Claes Redestad wrote:
>> Hi,
>>
>> this patch extract the population count used in RegMask::Size() to a
>> utility method in share/utilities/population_count.hpp, as well as
>> adds a test that verifies this produces the same results as the existing
>> lookup table implementation.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8217519
>> Webrev: http://cr.openjdk.java.net/~redestad/8217519/open.00/
>>
>> This reduces instructions retired in RegMask::Size() by 50-60% in some
>> tests and profiles, which equates to a speedup of C2 by ~5% total. This
>> improves startup marginally in my tests.
>>
>> Compiler intrinsics (such as gcc's __builtin_popcount()) would be
>> appealing, but that actually gives worse performance than this patch (on
>> current build configurations/setups available to me).
>>
>> Testing: tier1-3 (ongoing, previous increments of the patch without
>> the gtest has been thoroughly tested)
>>
>> Thanks!
>>
>> /Claes
More information about the hotspot-compiler-dev
mailing list