On Mon, 30 Sep 2024 15:14:31 GMT, Eirik Bjørsnøs <eir...@openjdk.org> wrote:
> Please review this cleanup PR which updates code and tests in `java.base` to > consistently use `jdk.internal.util.ArraySupport.SOFT_MAX_ARRAY_LENGTH` when > referring to the JVM's maximum array size implementation limit. Currently, > instances of `Integer.MAX_VALUE - 8` are found across the code base, with > varying degrees of documentation. It would be good to consolidate on a single > source of truth, with proper documentation. > > This PR is a follow-up to #20905 where the same change was requested in > `java.util.zip`. > > My understanding is that javac will fold this constant value into the byte > code of the compiled use sites, as such this change should not affect class > loading or cause startup issues. > > Instances selected for this PR were found searching for "Integer.MAX_VALUE - > 8". The PR replaces these with `ArraySupport.SOFT_MAX_ARRAY_LENGTH`, while > trimming or amending some code comments where appropriate. > (`SOFT_MAX_ARRAY_LENGTH` already has a good explainer which does not need > repetition at each use site). > > I also searched for instances of `Integer.MAX_VALUE - 1` and > `Integer.MAX_VALUE - 2`, no convincing candidates were found. > > Instances outside `java.base` were deliberately left out to limit the scope > and review cost of this PR. > > Tests updated to use `SOFT_MAX_ARRAY_LENGTH` are updated with the jtreg tag > `@modules java.base/jdk.internal.util`. > > Testing: No new tests are added in this PR, the `noreg-cleanup` label is > added to the JBS. The five affected tests have been run manually. GHA tests > run green. This pull request has now been integrated. Changeset: 0f381137 Author: Eirik Bjørsnøs <eir...@openjdk.org> Committer: Jaikiran Pai <j...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/0f381137cb9338453a7d77a7ebdfaa9b34b5028b Stats: 60 lines in 15 files changed: 19 ins; 9 del; 32 mod 8341243: Use ArraySupport.SOFT_MAX_ARRAY_LENGTH for max array size in java.base Reviewed-by: jpai, smarks ------------- PR: https://git.openjdk.org/jdk/pull/21268