RFR: 8376477: Avoid loading empty Lock classes in Shutdown and ReferenceQueue [v2]

Eirik Bjørsnøs eirbjo at openjdk.org
Thu Feb 26 16:37:23 UTC 2026


On Thu, 26 Feb 2026 12:56:17 GMT, Eirik Bjørsnøs <eirbjo at openjdk.org> wrote:

>> 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

Thanks for the reviews!

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

PR Comment: https://git.openjdk.org/jdk/pull/29442#issuecomment-3967744594


More information about the core-libs-dev mailing list