RFR: 8376477: Avoid loading empty Lock classes in Shutdown and ReferenceQueue [v2]
Eirik Bjørsnøs
eirbjo at openjdk.org
Thu Feb 26 12:56:17 UTC 2026
> Please review this PR which removes empty nested `Lock` classes in `java.lang.Shutdown` and `java.lang.ref.ReferenceQueue`.
>
> These are replaced with the more common "new Object()" idiom, which saves us loading these two nested classes.
>
> Additionally, this PR marks the lock objects in `Shutdown` as `final`
>
> This was initially discussed in https://mail.openjdk.org/pipermail/core-libs-dev/2026-January/157704.html.
>
> Except the observability of the lock name class, this should be a strict refactoring. No tests updated, `noreg-cleanup`.
Eirik Bjørsnøs 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 two additional commits since the last revision:
- Merge branch 'master' into remove-custom-lock-objects
- Avoid loading custom empty Lock classes
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/29442/files
- new: https://git.openjdk.org/jdk/pull/29442/files/4f17d3fa..efe287eb
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=29442&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=29442&range=00-01
Stats: 579055 lines in 2288 files changed: 292519 ins; 262833 del; 23703 mod
Patch: https://git.openjdk.org/jdk/pull/29442.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/29442/head:pull/29442
PR: https://git.openjdk.org/jdk/pull/29442
More information about the core-libs-dev
mailing list