On Fri, 20 Jan 2023 16:47:27 GMT, Glavo <d...@openjdk.org> wrote: > 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.
This pull request has now been integrated. Changeset: 7449e1c6 Author: Glavo <zjx001...@gmail.com> Committer: Roger Riggs <rri...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/7449e1c6617f51101e415fc29fafa79c6b55e24d Stats: 16 lines in 2 files changed: 11 ins; 0 del; 5 mod 8299807: newStringNoRepl should avoid copying arrays for ASCII compatible charsets Reviewed-by: rriggs ------------- PR: https://git.openjdk.org/jdk/pull/12119