On Thu, 26 Feb 2026 13:39:51 GMT, Eirik Bjørsnøs <[email protected]> wrote:

>> Please review this cleanup PR where we simplify synchronization on ZipFile's 
>> inflater cache.
>> 
>> Currently, the `ZipFile.CleanableResource.inflaterCache` field is non-final, 
>> is used in synchronization and is set to `null` to indicate a closed 
>> inflater cache. This complicates the state considerations for 
>> synchronization, requiring double-checking that the cache does not close 
>> under us. Generally, correctness of synchronizing on a non-final field which 
>> can also be null is hard to reason about.
>> 
>> This PR marks the `inflaterCache` field as `final` and introduces a boolean 
>> flag field to model the closed state explicitly. This allows synchronization 
>> to be simplified, double-checking to be removed and the closed state to be 
>> more obvious. If we want the future ZipFile to be less mutable, this is one 
>> step in that direction.
>> 
>> Cleanup refactoring, `noreg-cleanup`
>
> Eirik Bjørsnøs has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Reduce memory retained by a closed ZipFile

Thank you for your understanding. A lot of active reviewers' efforts are 
oriented toward new projects and developments so we often cannot afford 
revisiting code that has been running for decades without problems to triage 
the impact of minor improvements.

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

PR Comment: https://git.openjdk.org/jdk/pull/29937#issuecomment-3969089915

Reply via email to