< 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 >