RFR: 8217519: Improve RegMask population count calculation
nils.eliasson at oracle.com
Wed Jan 23 09:23:54 UTC 2019
Thanks for fixing!
On 2019-01-22 17:06, Claes Redestad wrote:
> 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)
More information about the hotspot-compiler-dev