On Thu, 6 Jul 2023 19:59:11 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 incrementally with one additional > commit since the last revision: > > Add flag for reference queue type src/java.base/share/classes/jdk/internal/util/ReferencedKeyMap.java line 107: > 105: * be used, {@link WeakReference} otherwise. > 106: * @param useNativeQueue true if uses NativeReferenceQueue > 107: * otherwise use {@link ReferenceQueue}. no such param for this constructor. src/java.base/share/classes/jdk/internal/util/ReferencedKeyMap.java line 132: > 130: */ > 131: public static <K, V> ReferencedKeyMap<K, V> > 132: create(boolean isSoft, boolean useNativeQueue, > Supplier<Map<ReferenceKey<K>, V>> supplier) { I suggest to keep the previous `create(boolean isSoft, Supplier supplier)` factory method that defaults to non-native reference queue, which is commonly used. Only `MethodType` needs to use native reference queue. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/14684#discussion_r1254856896 PR Review Comment: https://git.openjdk.org/jdk/pull/14684#discussion_r1254860906