On Fri, 4 Dec 2020 18:12:36 GMT, Kim Barrett <kbarr...@openjdk.org> wrote:
>> This patch replaces some uses of `Reference::get` to `Reference::refersTo` >> to avoid keeping a referent strongly reachable that could cause unnecessary >> delay in collecting such object. I only made change in some but not all >> classes in core libraries when working with Kim on `Reference::refersTo`. >> The remaining uses are left for the component owners to convert at >> appropriate time. > > src/java.base/share/classes/java/util/WeakHashMap.java line 293: > >> 291: // then checks for equality >> 292: Object k = e.get(); >> 293: return key == k || key.equals(k); > > I think `key == k` is already covered by refersTo. But k could be null; > checking for that here might be useful, to skip the call to equals in that > case. Good point on checking k != null. A cleaner check: // then check for equality if the referent is not cleared Object k = e.get(); return k != null || key.equals(k); ------------- PR: https://git.openjdk.java.net/jdk/pull/1609