[lworld] Integrated: 8366214: [lworld] Use Objects.equals in HashMap and ConcurrentHashmap
Roger Riggs
rriggs at openjdk.org
Wed Sep 3 15:52:03 UTC 2025
On Wed, 27 Aug 2025 19:40:28 GMT, Roger Riggs <rriggs at openjdk.org> wrote:
> As observed in [JDK-8366043](https://bugs.openjdk.org/browse/JDK-8366043) [lworld] (LIFE = Legacy Idiom For Equality) causes performance regressions.
> Updating HashMap and ConcurrentHashMap to use `java.util.Objects.equals` will make it easier to measure performance of options that remove or modify the use of `==`
>
> Replace constructs like:
>
> - ((k = e.key) == key || (key != null && key.equals(k))))
> with:
> + Objects.equals(key, k))
>
>
> The changes in ConcurrentHashMap are a bit different due to the use of null as a sentinel.
>
> The order of arguments to the .equals methods must remain the same to ensure compatibility.
This pull request has now been integrated.
Changeset: c8d4a247
Author: Roger Riggs <rriggs at openjdk.org>
URL: https://git.openjdk.org/valhalla/commit/c8d4a247861052aa6ed43125bcbe49995326938f
Stats: 45 lines in 2 files changed: 1 ins; 7 del; 37 mod
8366214: [lworld] Use Objects.equals in HashMap and ConcurrentHashmap
Reviewed-by: liach
-------------
PR: https://git.openjdk.org/valhalla/pull/1536
More information about the valhalla-dev
mailing list