On Fri, 18 Jun 2021 18:03:44 GMT, Paul Sandoz <psan...@openjdk.org> wrote:
>> Yi Yang has updated the pull request incrementally with one additional >> commit since the last revision: >> >> restore IndexOfOufBoundsException; split exception line > > src/java.base/share/classes/java/util/Base64.java line 935: > >> 933: throw new IOException("Stream is closed"); >> 934: Preconditions.checkFromIndexSize(len, off, b.length, >> 935: >> Preconditions.outOfBoundsExceptionFormatter(ArrayIndexOutOfBoundsException::new)); > > `outOfBoundsExceptionFormatter` will allocate. Store the result of > `Preconditions.outOfBoundsExceptionFormatter(ArrayIndexOutOfBoundsException::new))` > in a public static final on `Preconditions`, and replace the method ref with > a inner class (thereby making it usable earlier at VM startup. Thanks for the clarification! Fixed. This incremental change does many stuff: - Create inner classes and public static final fields within Preconditions - Use Preconditions.check* in j.l.String - Use Preconditions.*IOOBE_FORMATTER in java.util.zip.* classes - Use Preconditions.*IOOBE_FORMATTER in java.util.Base64 - Use Preconditions.*IOOBE_FORMATTER in X-VarHandle.java.template and X-VarHandleByteArrayView.java.template - Use Preconditions.*IOOBE_FORMATTER in sun.security.provider.DigestBase - Use Preconditions.*IOOBE_FORMATTER in sun.security.util.ArrayUtil ------------- PR: https://git.openjdk.java.net/jdk/pull/4507