> This PR is a resubmission after PR #21593 was rolled back, and the unsafe 
> offset overflow issue has been fixed.
> 
> 1) Move getChars methods of StringLatin1 and StringUTF16 to DecimalDigits to 
> reduce duplication.
> 
> 2) HexDigits and OctalDigits also include getCharsLatin1 and getCharsUTF16
> 
> 3) Putting these two methods into DecimalDigits can avoid the need to expose 
> them in JavaLangAccess
> Eliminate duplicate code in BigDecimal
> 
> 4) This PR will improve the performance of Integer/Long.toString and 
> StringBuilder.append(int/long) scenarios. This is because Unsafe.putByte is 
> used to eliminate array bounds checks, and of course this elimination is 
> safe. In previous versions, in Integer/Long.toString and 
> StringBuilder.append(int/long) scenarios, -COMPACT_STRING performed better 
> than +COMPACT_STRING. This is because StringUTF16.getChars uses 
> StringUTF16.putChar, which is similar to Unsafe.putChar, and there is no 
> bounds check.

Shaojin Wen has updated the pull request incrementally with two additional 
commits since the last revision:

 - bug fix
 - from rgiulietti

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/22023/files
  - new: https://git.openjdk.org/jdk/pull/22023/files/d3d9631c..34bd9d43

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22023&range=10
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22023&range=09-10

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

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

Reply via email to