On Wed, 5 Feb 2025 23:41:19 GMT, Chen Liang <[email protected]> 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