< prev index next >
src/java.base/share/classes/java/lang/invoke/VarHandleByteArrayBase.java
Print this page
rev 17358 : 8182487: Add Unsafe.objectFieldOffset(Class, String)
Reviewed-by: dsimms
*** 42,67 ****
static final long BYTE_BUFFER_HB;
// ByteBuffer.isReadOnly
static final long BYTE_BUFFER_IS_READ_ONLY;
static {
! try {
! BUFFER_ADDRESS = UNSAFE.objectFieldOffset(
! Buffer.class.getDeclaredField("address"));
! BUFFER_LIMIT = UNSAFE.objectFieldOffset(
! Buffer.class.getDeclaredField("limit"));
! BYTE_BUFFER_HB = UNSAFE.objectFieldOffset(
! ByteBuffer.class.getDeclaredField("hb"));
! BYTE_BUFFER_IS_READ_ONLY = UNSAFE.objectFieldOffset(
! ByteBuffer.class.getDeclaredField("isReadOnly"));
! }
! catch (ReflectiveOperationException e) {
! throw new Error(e);
! }
}
static final boolean BE = UNSAFE.isBigEndian();
static IllegalStateException newIllegalStateExceptionForMisalignedAccess(int index) {
--- 42,58 ----
static final long BYTE_BUFFER_HB;
// ByteBuffer.isReadOnly
static final long BYTE_BUFFER_IS_READ_ONLY;
static {
! BUFFER_ADDRESS = UNSAFE.objectFieldOffset(Buffer.class, "address");
! BUFFER_LIMIT = UNSAFE.objectFieldOffset(Buffer.class, "limit");
! BYTE_BUFFER_HB = UNSAFE.objectFieldOffset(ByteBuffer.class, "hb");
! BYTE_BUFFER_IS_READ_ONLY = UNSAFE.objectFieldOffset(ByteBuffer.class, "isReadOnly");
}
static final boolean BE = UNSAFE.isBigEndian();
static IllegalStateException newIllegalStateExceptionForMisalignedAccess(int index) {
< prev index next >