RFR: 8310813: Simplify and modernize equals, hashCode, and compareTo for BigInteger [v9]
Pavel Rappo
prappo at openjdk.org
Thu Dec 14 10:18:28 UTC 2023
> Please review this PR to use modern APIs and language features to simplify equals, hashCode, and compareTo for BigInteger. If you have any performance concerns, please raise them.
>
> This PR is cherry-picked from a bigger, not-yet-published PR, to test the waters. That latter PR will be published soon.
Pavel Rappo has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 16 additional commits since the last revision:
- Merge branch 'master' into 8310813
- Merge branch 'master' into 8310813
- Merge branch 'master' into 8310813
- Fix bugs in Shared.createSingle
- Merge branch 'master' into 8310813
- Group params coarser (suggested by @cl4es)
- Splits 20 params into 3 groups: (S)mall, (M)edium and (L)arge.
Every testXYZ method invokes M operations, where M is the maximum
number of elements in a group. Shorter groups are cyclically padded.
- Uses the org.openjdk.jmh.infra.Blackhole API and increases
benchmark time.
- Fixes a bug in Shared that precluded 0 from being in a pair.
- Use better overloads (suggested by @cl4es)
- Uses simpler, more suitable overloads for the subrange
starting from 0
- Improve benchmarks
- Merge branch 'master' into 8310813
- Restore hash code values
BigInteger is old and ubiquitous enough so that there might be
inadvertent dependencies on its hash code.
This commit also includes a test, to make sure hash code is
unchanged.
- ... and 6 more: https://git.openjdk.org/jdk/compare/5f6cebff...ef8b0c46
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/14630/files
- new: https://git.openjdk.org/jdk/pull/14630/files/155fedba..ef8b0c46
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=14630&range=08
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=14630&range=07-08
Stats: 782591 lines in 3816 files changed: 173277 ins; 536256 del; 73058 mod
Patch: https://git.openjdk.org/jdk/pull/14630.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14630/head:pull/14630
PR: https://git.openjdk.org/jdk/pull/14630
More information about the security-dev
mailing list