RFR: 8311864: Add ArraysSupport.hashCode(int[] a, fromIndex, length, initialValue)
Pavel Rappo
prappo at openjdk.org
Wed Oct 11 08:35:14 UTC 2023
On Tue, 11 Jul 2023 16:35:51 GMT, Pavel Rappo <prappo at openjdk.org> wrote:
> This PR adds an internal method to calculate hash code from the provided integer array, offset and length into that array, and the initial hash code value.
>
> Current options for calculating a hash code for int[] are inflexible. It's either ArraysSupport.vectorizedHashCode with an offset, length and initial value, or Arrays.hashCode with just an array.
>
> For an arbitrary int[], unconditional vectorization might be unwarranted or puzzling. Unfortunately, it's the only hash code method that operates on an array subrange or accepts the initial hash code value.
>
> A more convenient method could be added and then used, for example, here:
>
> * https://github.com/openjdk/jdk/blob/0ef03f122866f010ebf50683097e9b92e41cdaad/src/java.base/share/classes/java/util/concurrent/CopyOnWriteArrayList.java#L1076-L1083
>
> * https://github.com/openjdk/jdk/blob/0ef03f122866f010ebf50683097e9b92e41cdaad/src/java.base/share/classes/java/util/ArrayList.java#L669-L680
>
> * https://github.com/openjdk/jdk/blob/0ef03f122866f010ebf50683097e9b92e41cdaad/src/java.base/share/classes/sun/security/pkcs10/PKCS10.java#L356-L362
>
> This PR adds such a method and provides tests for it. Additionally, this PR adds tests for `null` passed to `java.util.Arrays.hashCode` overloads, behaviour which was specified but untested.
To Skara bots: keep this PR alive.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14831#issuecomment-1757125826
More information about the core-libs-dev
mailing list