< 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,26 +42,17 @@
     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_ADDRESS = UNSAFE.objectFieldOffset(Buffer.class, "address");
 
-            BUFFER_LIMIT = UNSAFE.objectFieldOffset(
-                    Buffer.class.getDeclaredField("limit"));
+        BUFFER_LIMIT = UNSAFE.objectFieldOffset(Buffer.class, "limit");
 
-            BYTE_BUFFER_HB = UNSAFE.objectFieldOffset(
-                    ByteBuffer.class.getDeclaredField("hb"));
+        BYTE_BUFFER_HB = UNSAFE.objectFieldOffset(ByteBuffer.class, "hb");
 
-            BYTE_BUFFER_IS_READ_ONLY = UNSAFE.objectFieldOffset(
-                    ByteBuffer.class.getDeclaredField("isReadOnly"));
-        }
-        catch (ReflectiveOperationException e) {
-            throw new Error(e);
-        }
+        BYTE_BUFFER_IS_READ_ONLY = UNSAFE.objectFieldOffset(ByteBuffer.class, "isReadOnly");
     }
 
     static final boolean BE = UNSAFE.isBigEndian();
 
     static IllegalStateException newIllegalStateExceptionForMisalignedAccess(int index) {
< prev index next >