RFR: 8261744: Implement CharsetDecoder ASCII and latin-1 fast-paths [v3]

Claes Redestad redestad at openjdk.java.net
Tue Feb 16 20:22:20 UTC 2021


> This patch exposes a couple of intrinsics used by String to speed up ASCII checking and byte[] -> char[] inflation, which can be used by latin1 and ASCII-compatible CharsetDecoders to speed up decoding operations.
> 
> - Fast-path implemented for all standard charsets, with up to 10x performance improvements in microbenchmarks reading Strings from ByteArrayInputStream. 
> - Cleanup of StreamDecoder/-Encoder with some minor improvements when interpreting
> - Reworked creation of JavaLangAccess to be safely published for CharsetDecoders/-Encoders used for setting up System.out/in. As JLA and these encoders are created during System.initPhase1 the current sequence caused the initialization to became unstable and a few tests were consistently getting an NPE.
> 
> Testing: tier1-3

Claes Redestad has updated the pull request incrementally with two additional commits since the last revision:

 - Copyrights
 - Review fixes

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2574/files
  - new: https://git.openjdk.java.net/jdk/pull/2574/files/b0bf8cfb..367be2a5

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2574&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2574&range=01-02

  Stats: 15 lines in 10 files changed: 1 ins; 1 del; 13 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2574.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2574/head:pull/2574

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


More information about the core-libs-dev mailing list