Re: RFR: 8299807: newStringUTF8NoRepl and getBytesUTF8NoRepl always copy arrays
On Mon, 9 Jan 2023 17:07:53 GMT, Sergey Tsypanov wrote: > Why don't we just call `s.isLatin1()` instead of `coder == LATIN1 && > isASCII(val)`? The `isLatin1()` can only replace `coder == LATIN1`, and it is necessary to check whether it is ASCII. In the following, we also need to pass the `coder` when calling `encodeUTF8`. Therefore, I think it is clearer to judge the `coder` directly than to call `isLatin1()`. - PR: https://git.openjdk.org/jdk/pull/11897
Re: RFR: 8299807: newStringUTF8NoRepl and getBytesUTF8NoRepl always copy arrays
On Mon, 9 Jan 2023 03:34:55 GMT, Glavo wrote: > `JavaLangAccess::newStringUTF8NoRepl` and > `JavaLangAccess::getBytesUTF8NoRepl` are not implemented correctly. They > always copy arrays, rather than avoiding copying as much as possible as > javadoc says. > > I ran the tier1 test without any new errors. src/java.base/share/classes/java/lang/String.java line 927: > 925: byte[] val = s.value(); > 926: byte coder = s.coder(); > 927: if (coder == LATIN1 && isASCII(val)) { Why don't we just call `s.isLatin1()` instead of `coder == LATIN1 && isASCII(val)`? - PR: https://git.openjdk.org/jdk/pull/11897
Re: RFR: 8299807: newStringUTF8NoRepl and getBytesUTF8NoRepl always copy arrays
On Mon, 9 Jan 2023 03:34:55 GMT, Glavo wrote: > `JavaLangAccess::newStringUTF8NoRepl` and > `JavaLangAccess::getBytesUTF8NoRepl` are not implemented correctly. They > always copy arrays, rather than avoiding copying as much as possible as > javadoc says. > > I ran the tier1 test without any new errors. Can someone open a issue for me on JBS? - PR: https://git.openjdk.org/jdk/pull/11897