< 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

*** 4584,4602 **** 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); ! } } static void putSign(BigInteger bi, int sign) { unsafe.putInt(bi, signumOffset, sign); } --- 4584,4596 ---- private static class UnsafeHolder { private static final jdk.internal.misc.Unsafe unsafe; private static final long signumOffset; private static final long magOffset; static { unsafe = jdk.internal.misc.Unsafe.getUnsafe(); ! signumOffset = unsafe.objectFieldOffset(BigInteger.class, "signum"); ! magOffset = unsafe.objectFieldOffset(BigInteger.class, "mag"); } static void putSign(BigInteger bi, int sign) { unsafe.putInt(bi, signumOffset, sign); }
< prev index next >