On Wed, 5 Jul 2023 19:33:28 GMT, Mandy Chung <mch...@openjdk.org> wrote:

>> Jim Laskey has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Update to use VirtualThread friendly stale queue.
>
> `WeakReferenceKey::equals` and `SoftReferenceKey::equals`:
> 
> Instead of `return Objects.equals(get(), obj);`, suggest to do:
> 
> 
>     return refersTo(obj);

> @mlchung Not sure I catch the nuance. `refersTo` doesn't work if the search 
> key is constructed. For example, if the key reference is a `record Pair(int 
> a, int b) {}`, then `map.containsKey(new Pair(10, 20))` would locate with 
> equals but not with `refersTo`.

Using `get()` on a reference can momentarily create a strong reference to the 
item. `refersTo()` does not.
But since your map is holding proxies to the object,  `refersTo()` would be to 
the proxy, not the object; so that's not an option.

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

PR Comment: https://git.openjdk.org/jdk/pull/14684#issuecomment-1623683197

Reply via email to