On Tue, 6 Feb 2024 16:17:21 GMT, Claes Redestad <redes...@openjdk.org> wrote:
> Adding a fast-path for ASCII-only modified UTF-8 strings deserialied via > Data- and ObjectInputStream > > Testing: tier1-3 src/java.base/share/classes/java/io/ObjectInputStream.java line 3688: > 3686: // avoid a redundant scan > 3687: String utf = new String(buf, pos, (int)utflen, > StandardCharsets.ISO_8859_1); > 3688: pos += (int)utflen; Suggestion: String utf = new String(buf, pos, ascii, StandardCharsets.ISO_8859_1); pos += ascii; Redundant casts src/java.base/share/classes/java/io/ObjectInputStream.java line 3746: > 3744: int avail = Math.min(end - pos, CHAR_BUF_SIZE); > 3745: // stop short of last char unless all of utf bytes in buffer > 3746: int stop = start + ((utflen > avail) ? avail - 2 : (int) > utflen); Though reading LV instead of getfield is an improvement, we probably prefer to keep this patch cleaner. src/java.base/share/classes/java/nio/charset/Charset.java line 682: > 680: else > 681: defaultCharset = sun.nio.cs.UTF_8.INSTANCE; > 682: Charset.forName("UTF-8"); Redundant debug code? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17734#discussion_r1480387150 PR Review Comment: https://git.openjdk.org/jdk/pull/17734#discussion_r1480389129 PR Review Comment: https://git.openjdk.org/jdk/pull/17734#discussion_r1480391246