< prev index next >

src/java.base/share/classes/java/math/BigDecimal.java

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

*** 4068,4086 **** private static class UnsafeHolder { private static final jdk.internal.misc.Unsafe unsafe; private static final long intCompactOffset; private static final long intValOffset; static { - try { unsafe = jdk.internal.misc.Unsafe.getUnsafe(); intCompactOffset = unsafe.objectFieldOffset ! (BigDecimal.class.getDeclaredField("intCompact")); intValOffset = unsafe.objectFieldOffset ! (BigDecimal.class.getDeclaredField("intVal")); ! } catch (Exception ex) { ! throw new ExceptionInInitializerError(ex); ! } } static void setIntCompact(BigDecimal bd, long val) { unsafe.putLong(bd, intCompactOffset, val); } --- 4068,4082 ---- private static class UnsafeHolder { private static final jdk.internal.misc.Unsafe unsafe; private static final long intCompactOffset; private static final long intValOffset; static { unsafe = jdk.internal.misc.Unsafe.getUnsafe(); intCompactOffset = unsafe.objectFieldOffset ! (BigDecimal.class, "intCompact"); intValOffset = unsafe.objectFieldOffset ! (BigDecimal.class, "intVal"); } static void setIntCompact(BigDecimal bd, long val) { unsafe.putLong(bd, intCompactOffset, val); }
< prev index next >