[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