RFR: 8299807: newStringNoRepl should avoid copying arrays for ASCII compatible charsets [v4]
Glavo
duke at openjdk.org
Mon Feb 27 09:11:10 UTC 2023
On Sat, 28 Jan 2023 19:54:32 GMT, Glavo <duke at 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.
>
> Glavo has updated the pull request incrementally with one additional commit since the last revision:
>
> update
Don't turn it off
-------------
PR: https://git.openjdk.org/jdk/pull/12119
More information about the core-libs-dev
mailing list