< prev index next >
src/java.base/share/classes/java/lang/invoke/MethodType.java
Print this page
rev 17358 : 8182487: Add Unsafe.objectFieldOffset(Class, String)
Reviewed-by: dsimms
*** 1239,1256 ****
// Support for resetting final fields while deserializing. Implement Holder
// pattern to make the rarely needed offset calculation lazy.
private static class OffsetHolder {
private static final long rtypeOffset, ptypesOffset;
static {
! try {
! rtypeOffset = UNSAFE.objectFieldOffset
! (MethodType.class.getDeclaredField("rtype"));
! ptypesOffset = UNSAFE.objectFieldOffset
! (MethodType.class.getDeclaredField("ptypes"));
! } catch (Exception ex) {
! throw new Error(ex);
! }
}
}
/**
* Resolves and initializes a {@code MethodType} object
--- 1239,1250 ----
// Support for resetting final fields while deserializing. Implement Holder
// pattern to make the rarely needed offset calculation lazy.
private static class OffsetHolder {
private static final long rtypeOffset, ptypesOffset;
static {
! rtypeOffset = UNSAFE.objectFieldOffset(MethodType.class, "rtype");
! ptypesOffset = UNSAFE.objectFieldOffset(MethodType.class, "ptypes");
}
}
/**
* Resolves and initializes a {@code MethodType} object
< prev index next >