[10] RFR: 8193507: [REDO] Startup regression due to JDK-8185582

Claes Redestad claes.redestad at oracle.com
Thu Dec 14 12:25:14 UTC 2017


On 2017-12-14 13:00, Alan Bateman wrote:
> On 14/12/2017 11:07, Claes Redestad wrote:
>> Hi,
>>
>> my previous fix failed due to use of non-static inner classes which 
>> kept the cleanable objects around. Also, Sherman suggested a more 
>> thorough fix to Inflater/Deflater after I had already pushed.
>>
>> Webrev: http://cr.openjdk.java.net/~redestad/8193507/open.00/
>>
>> Verified all java/util/zip tests pass this time.
> The changes means some code duplication but it's not too bad. Can the 
> ZStreamRef(long) constructor go away so that we don't need to think 
> about creating a ZStreamRef without a cleanable. 

We need the cleanable = null case for the FinalizableZStreamRef case, 
otherwise we'd go into spin. The cleanable is implicitly checked for 
null in the ZStreamRef.get method, which is the only one
used outside of these classes.

> Also can the fields in InflaterCleanupAction be final.

Sure:

http://cr.openjdk.java.net/~redestad/8193507/open.01/

/Claes


More information about the core-libs-dev mailing list