< prev index next >
src/java.base/share/classes/java/math/BigInteger.java
Print this page
rev 17358 : 8182487: Add Unsafe.objectFieldOffset(Class, String)
Reviewed-by: dsimms, twisti, bchristi, mgerdin
@@ -4580,24 +4580,16 @@
}
}
// Support for resetting final fields while deserializing
private static class UnsafeHolder {
- private static final jdk.internal.misc.Unsafe unsafe;
- private static final long signumOffset;
- private static final long magOffset;
- static {
- try {
- unsafe = jdk.internal.misc.Unsafe.getUnsafe();
- signumOffset = unsafe.objectFieldOffset
- (BigInteger.class.getDeclaredField("signum"));
- magOffset = unsafe.objectFieldOffset
- (BigInteger.class.getDeclaredField("mag"));
- } catch (Exception ex) {
- throw new ExceptionInInitializerError(ex);
- }
- }
+ private static final jdk.internal.misc.Unsafe unsafe
+ = jdk.internal.misc.Unsafe.getUnsafe();
+ private static final long signumOffset
+ = unsafe.objectFieldOffset(BigInteger.class, "signum");
+ private static final long magOffset
+ = unsafe.objectFieldOffset(BigInteger.class, "mag");
static void putSign(BigInteger bi, int sign) {
unsafe.putInt(bi, signumOffset, sign);
}
< prev index next >