< prev index next >

src/java.base/share/classes/java/util/concurrent/ConcurrentHashMap.java

Print this page
rev 17358 : 8182487: Add Unsafe.objectFieldOffset(Class, String)
Reviewed-by: dsimms, twisti, bchristi, mgerdin

@@ -3305,19 +3305,12 @@
                 return false;
             return true;
         }
 
         private static final Unsafe U = Unsafe.getUnsafe();
-        private static final long LOCKSTATE;
-        static {
-            try {
-                LOCKSTATE = U.objectFieldOffset
-                    (TreeBin.class.getDeclaredField("lockState"));
-            } catch (ReflectiveOperationException e) {
-                throw new Error(e);
-            }
-        }
+        private static final long LOCKSTATE
+                = U.objectFieldOffset(TreeBin.class, "lockState");
     }
 
     /* ----------------Table Traversal -------------- */
 
     /**

@@ -6379,31 +6372,27 @@
     private static final long CELLVALUE;
     private static final int ABASE;
     private static final int ASHIFT;
 
     static {
-        try {
             SIZECTL = U.objectFieldOffset
-                (ConcurrentHashMap.class.getDeclaredField("sizeCtl"));
+            (ConcurrentHashMap.class, "sizeCtl");
             TRANSFERINDEX = U.objectFieldOffset
-                (ConcurrentHashMap.class.getDeclaredField("transferIndex"));
+            (ConcurrentHashMap.class, "transferIndex");
             BASECOUNT = U.objectFieldOffset
-                (ConcurrentHashMap.class.getDeclaredField("baseCount"));
+            (ConcurrentHashMap.class, "baseCount");
             CELLSBUSY = U.objectFieldOffset
-                (ConcurrentHashMap.class.getDeclaredField("cellsBusy"));
+            (ConcurrentHashMap.class, "cellsBusy");
 
             CELLVALUE = U.objectFieldOffset
-                (CounterCell.class.getDeclaredField("value"));
+            (CounterCell.class, "value");
 
             ABASE = U.arrayBaseOffset(Node[].class);
             int scale = U.arrayIndexScale(Node[].class);
             if ((scale & (scale - 1)) != 0)
                 throw new Error("array index scale not a power of two");
             ASHIFT = 31 - Integer.numberOfLeadingZeros(scale);
-        } catch (ReflectiveOperationException e) {
-            throw new Error(e);
-        }
 
         // Reduce the risk of rare disastrous classloading in first call to
         // LockSupport.park: https://bugs.openjdk.java.net/browse/JDK-8074773
         Class<?> ensureLoaded = LockSupport.class;
     }
< prev index next >