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. test/jdk/jdk/internal/util/ByteArray/Types.java line 82: > 80: byte[] arr = new byte[arrayLen]; > 81: > 82: assertThrows(NullPointerException.class, () -> > orderedReader.get(null, 0, true)); I suggest breaking out the invariant tests in a separate test. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23478#discussion_r1944834882