Integrated: 8257985: count_trailing_zeros doesn't handle 64-bit values on 32-bit JVM

Claes Redestad redestad at openjdk.java.net
Mon Dec 14 12:02:55 UTC 2020


On Fri, 11 Dec 2020 08:57:54 GMT, Claes Redestad <redestad at openjdk.org> wrote:

> Re-implement count_trailing_zeros as a template function similar to count_leading_zeros, adding support for 8 and 16 bit types as well as for 64-bit types on 32-bit builds, which is currently not supported. This prohibits implementing the log2i_exact proposed by #1663 using count_trailing_zeros, as suggested during review.
> 
> Compared to count_leading_zeros the implementation can be slightly simpler since subword specializations can simply use the internal 32-bit variant.
> 
> Windows doesn't define _BitScanForward64 on 32-bit targets, so the 32-bit variant for handling 64-bit values becomes more convoluted.

This pull request has now been integrated.

Changeset: e69ae07f
Author:    Claes Redestad <redestad at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/e69ae07f
Stats:     91 lines in 2 files changed: 66 ins; 6 del; 19 mod

8257985: count_trailing_zeros doesn't handle 64-bit values on 32-bit JVM

Reviewed-by: kbarrett

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

PR: https://git.openjdk.java.net/jdk/pull/1747


More information about the hotspot-dev mailing list