--- a/jdk/src/java.base/share/classes/java/math/BigDecimal.java Wed Jun 21 21:50:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/math/BigDecimal.java Thu Jun 22 15:53:24 2017 +0200
@@ -4067,20 +4067,13 @@
}
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);
- }
- }
+ private static final jdk.internal.misc.Unsafe unsafe
+ = jdk.internal.misc.Unsafe.getUnsafe();
+ private static final long intCompactOffset
+ = unsafe.objectFieldOffset(BigDecimal.class, "intCompact");
+ private static final long intValOffset
+ = unsafe.objectFieldOffset(BigDecimal.class, "intVal");
+
static void setIntCompact(BigDecimal bd, long val) {
unsafe.putLong(bd, intCompactOffset, val);
}