RFR: 8268764: Use Long.hashCode() instead of int-cast where applicable [v3]

Сергей Цыпанов github.com+10835776+stsypanov at openjdk.java.net
Thu Jul 1 10:38:24 UTC 2021


> In some JDK classes there's still the following hashCode() implementation:
> 
> long objNum;
> 
> public int hashCode() {
>     return (int) objNum;
> }
> 
> This outdated expression should be replaced with Long.hashCode(long) as it
> 
> - uses all bits of the original value, does not discard any information upfront. For example, depending on how you are generating the IDs, the upper bits could change more frequently (or the opposite).
> 
> - does not introduce any bias towards values with more ones (zeros), as it would be the case if the two halves were combined with an OR (AND) operation.
> 
> See https://stackoverflow.com/a/4045083
> 
> This is related to https://github.com/openjdk/jdk/pull/4309

Сергей Цыпанов has updated the pull request incrementally with one additional commit since the last revision:

  8268764: Update copy-right year

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4491/files
  - new: https://git.openjdk.java.net/jdk/pull/4491/files/12a1d3ac..932c26ad

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4491&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4491&range=01-02

  Stats: 6 lines in 6 files changed: 0 ins; 0 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4491.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4491/head:pull/4491

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



More information about the security-dev mailing list