RFR: 8299807: newStringNoRepl should avoid copying arrays for ASCII compatible charsets [v2]
Glavo
duke at openjdk.org
Sat Jan 28 19:43:24 UTC 2023
> This is the javadoc of `JavaLangAccess::newStringNoRepl`:
>
>
> /**
> * Constructs a new {@code String} by decoding the specified subarray of
> * bytes using the specified {@linkplain java.nio.charset.Charset charset}.
> *
> * The caller of this method shall relinquish and transfer the ownership of
> * the byte array to the callee since the later will not make a copy.
> *
> * @param bytes the byte array source
> * @param cs the Charset
> * @return the newly created string
> * @throws CharacterCodingException for malformed or unmappable bytes
> */
>
>
> It is recorded in the document that it should be able to directly construct strings with parameter byte array to reduce array allocation.
>
> However, at present, `newStringNoRepl` always copies arrays for UTF-8 or other ASCII compatible charsets.
>
> This PR fixes this problem.
Glavo has updated the pull request incrementally with one additional commit since the last revision:
update
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/12119/files
- new: https://git.openjdk.org/jdk/pull/12119/files/9ec85ef0..5a0feb8b
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=12119&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=12119&range=00-01
Stats: 10 lines in 2 files changed: 5 ins; 0 del; 5 mod
Patch: https://git.openjdk.org/jdk/pull/12119.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/12119/head:pull/12119
PR: https://git.openjdk.org/jdk/pull/12119
More information about the core-libs-dev
mailing list