On Fri, 5 Jul 2024 18:56:58 GMT, Chen Liang <li...@openjdk.org> wrote:
>> Shaojin Wen has updated the pull request incrementally with four additional >> commits since the last revision: >> >> - use unknownFormatConversion method construct >> UnknownFormatConversionException >> - uppercase static final field name & code format >> - add stable annotation >> - replace cast to pattern matching > > src/java.base/share/classes/java/lang/String.java line 4548: > >> 4546: } >> 4547: >> 4548: private static class StringFormat { > > Since we want to avoid new classes on startup, we should change the lazy > initialization pattern to: > > > private static @Stable JavaUtilFormatterAccess jufa; > private static JavaUtilFormatterAccess formatterAccess() { > var access = jufa; > if (access = null) { > // We can assert not null on the getJUFA result > return jufa = SharedSecrets.getJavaUtilFormatterAccess(); > } > return access; > } > > using benign race. I found out through `-verbose:class` that StringFormat is not in the class loaded by startup ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20055#discussion_r1667120045