On Fri, 10 Dec 2021 21:07:37 GMT, Roman Kennke <rken...@openjdk.org> wrote:

>> As a follow-up to #6375, this change refactors 
>> java.io.ObjectInputStream.Caches#subclassAudits and 
>> java.io.ObjectOutputStream.Caches#subclassAudits to use ClassValue instead 
>> of SoftReference, similar to what we did in #6375 for 
>> java.io.ObjectStreamClass.Caches#localDescs. Then we can now also remove the 
>> common machinery java.io.ObjectStreamClass#processQueue and 
>> java.io.ObjectStreamClass.WeakClassKey.
>> 
>> Testing:
>>  - [x] tier1
>>  - [x] tier2
>>  - [ ] tier3
>
> Roman Kennke has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains ten commits:
> 
>  - Merge branch 'master' into JDK-8278065
>  - 8278065: Refactor subclassAudits to use ClassValue
>  - Remove unused EntryFuture inner class from ObjectSteamClass
>  - Merge remote-tracking branch 'jdk-plevart/JDK-8277072-peter' into 
> JDK-8277072
>  - Use ClassValue to solve JDK-8277072
>  - Use ForceGC instead of System.gc()
>  - Convert test to testng
>  - Fix indentation of new testcase
>  - 8277072: ObjectStreamClass caches keep ClassLoaders alive

Marked as reviewed by plevart (Reviewer).

I think this looks good. Reviewed. Only a minor nit if you think it would be 
better, but not necessary if you don't. The following combo:


        Boolean result = Caches.subclassAudits.get(cl);
        assert result != null;


could be written as:


        boolean result = Caches.subclassAudits.get(cl);


...and it would give the same "message" to the reader. WDYT? No need for 
another round of reviews if you change this.

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

PR: https://git.openjdk.java.net/jdk/pull/6637

Reply via email to