> This PR reorganizes `java.util.zip.ZipCoder` class hierarchies to handle 
> UTF-8 in the base class and move support for general charsets down to a 
> subclass. This better reflects reality where most ZIP files are encoded using 
> UTF-8. 
> 
> The motivation can be summarized as:
> 
> * Supporting the common case in the base class and the exceptional case in a 
> subclass seems more natural and intuitive for maintainers
> * We avoid loading both classes for most JVM instances
> * A small performance improvement is observed, probably caused by unlocking 
> effecively-monomorphic JVM optimizations
> 
> See core-libs-dev discussion for details: 
> https://mail.openjdk.org/pipermail/core-libs-dev/2026-January/158281.html
> 
> I have tried to not move methods around too much,  making the side-by-side 
> diff when ignoring whitespace easier to review. We can discuss further 
> cleanups and reorganizaton if so desired. 
> 
> It may be useful to review commits individually. The first commit fe4a627 
> moves some methods out the way for the second commit 2926398. 
> 
> This PR also includes the similar change to the `ZipFileSystem` 
> implementation of ZipCoder to keep these aligned. Could be pulled out to a 
> separate PR if reviewers want to focus on a single area per PR.

Eirik Bjørsnøs has updated the pull request incrementally with one additional 
commit since the last revision:

  Remove comment referring to decoder() which is now inaccessible in the 
subclass

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/30640/files
  - new: https://git.openjdk.org/jdk/pull/30640/files/76d4ac64..17ee8af9

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=30640&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=30640&range=01-02

  Stats: 2 lines in 1 file changed: 0 ins; 2 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/30640.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/30640/head:pull/30640

PR: https://git.openjdk.org/jdk/pull/30640

Reply via email to