On Wed, 5 Feb 2025 23:41:19 GMT, Chen Liang <li...@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.base/share/classes/jdk/internal/util/ByteArray.java line 57: > 55: } > 56: > 57: public static short getShortBO(byte[] array, int index, boolean big) { If we have methods `getShortBE` and `getShortLE` then perhaps this method should just be called `getShort`. src/java.base/share/classes/jdk/internal/util/ByteArray.java line 62: > 60: } > 61: > 62: public static int getIntBO(byte[] array, int index, boolean big) { I suggest to rename `big` to `bigEndian` to use the same naming conventions as in `Unsafe`. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23478#discussion_r1944819768 PR Review Comment: https://git.openjdk.org/jdk/pull/23478#discussion_r1944817837