On Wed, 19 Jul 2023 14:04:59 GMT, Jim Laskey <jlas...@openjdk.org> wrote:

>> java.lang.runtime.ReferencedKeyMap was introduced to provide a concurrent 
>> caching scheme for Carrier objects. The technique used is generally useful 
>> for a variety of caching schemes and is being moved to be shared in other 
>> parts of the jdk. The MethodType interning case is one example.
>
> Jim Laskey has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains 15 commits:
> 
>  - Merge branch 'master' into 8310913
>  - Requested changes.
>    
>    Added intern with UnaryOperator<T> interning function to prepare key 
> before adding to set.
>  - Update test to check for gc.
>  - Update ReferencedKeyTest.java
>  - Simple versions of create
>  - Add flag for reference queue type
>  - Merge branch 'master' into 8310913
>  - Update to use VirtualThread friendly stale queue.
>  - Remove warning tied to String Templates
>  - unneeded SuppressWarning
>  - ... and 5 more: https://git.openjdk.org/jdk/compare/028068a6...fbb78778

Thank you for the updates.

src/java.base/share/classes/jdk/internal/util/ReferencedKeyMap.java line 344:

> 342:      * interning values in a set.
> 343:      *
> 344:      * @implNote Requires a {@link ReferencedKeyMap} whose {@code V} type

The type safety is now ensured by the generic declaration on the static method. 
The `@implNote`s and `@throws ClassCastException`, including ones in other 
intern methods, are now redundant.

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

Marked as reviewed by liach (Author).

PR Review: https://git.openjdk.org/jdk/pull/14684#pullrequestreview-1537170976
PR Review Comment: https://git.openjdk.org/jdk/pull/14684#discussion_r1268120174

Reply via email to