By moving string splitting and concatenation into the canonizeString utility, we can defer allocation until we determine that canonization is required. This saves two string allocations and a string concat for the common case where canonization is not required.
As a refactoring, move ParseUtil.canonizeString/doCanonize into Handler since that's the only call site. Finally, let's rename the method to canonizalizeString, since canonization is an rather unrelated term. ------------- Commit messages: - Move utilities from ParseUtil into Handler, rename to canonicalizeString, call file.length() only once. - Reduce allocation by deferring substring calls until canonizeString determines it is needed Changes: https://git.openjdk.java.net/jdk/pull/2167/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2167&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8260043 Stats: 95 lines in 2 files changed: 47 ins; 47 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/2167.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/2167/head:pull/2167 PR: https://git.openjdk.java.net/jdk/pull/2167