RFR: 8332826: Make hashCode methods in ArraysSupport friendlier [v2]
Pavel Rappo
prappo at openjdk.org
Tue May 28 22:23:01 UTC 2024
On Tue, 28 May 2024 22:08:06 GMT, Pavel Rappo <prappo at openjdk.org> wrote:
>> Yes, should be `2` (`a` is semantically a `char[]`). This typo likely pass functional testing since `1` can never happen in practice, and the default case should work for any value. There might be a String microbenchmark out there that might be slightly unhappy, though.
>
> I believe, it should be `1`. Hear me out. In this method, the `length` is scaled down, whereas in `StringUTF16` it is not. In this method, it's `length`, in `StringUTF16` it's `((byte[]) value).length`.
In fact, if I change it to `2`, the following tests will fail:
- `jdk/jdk/classfile/Utf8EntryTest.java`
- `jdk/java/util/zip/ZipCoding.java`
- `jdk/java/text/Format/MessageFormat/MessageRegression.java`
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19414#discussion_r1617950633
More information about the security-dev
mailing list