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