On Thu, 6 Feb 2025 14:30:30 GMT, Per Minborg <pminb...@openjdk.org> wrote:
>> `MethodHandles.byteArrayViewVarHandle` exposes checked multi-byte access to >> byte arrays via VarHandle. This larger access speeds up many operations, yet >> it cannot be used in early bootstrap, and as a result, people tend to use >> `Unsafe` which can threaten memory safety of the Java Platform. >> >> To promote the safe use of multi-byte access, I propose to move the checked >> implementations from VarHandle to ByteArray to allow earlier use and reduce >> maintenance costs. In addition, ByteArrayLittleEndian is consolidated, and >> now the access methods are distinguished by BO (byte order) / BE (big >> endian) / LE (little endian) suffixes to indicate their access features. > > src/java.desktop/share/classes/javax/imageio/stream/ImageInputStreamImpl.java > line 245: > >> 243: throw new EOFException(); >> 244: } >> 245: return (byteOrder == ByteOrder.BIG_ENDIAN) > > This could just be `ByteArray.getShortBO(byteBuff, 0, byteOrder == > ByteOrder.BIG_ENDIAN)`. Same for the others. That would look cleaner. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23478#discussion_r1955287769