< prev index next >
src/java.base/share/classes/java/lang/invoke/MethodType.java
Print this page
*** 1243,1254 ****
private void MethodType_init(Class<?> rtype, Class<?>[] ptypes) {
// In order to communicate these values to readResolve, we must
// store them into the implementation-specific final fields.
checkRtype(rtype);
checkPtypes(ptypes);
! UNSAFE.putObject(this, OffsetHolder.rtypeOffset, rtype);
! UNSAFE.putObject(this, OffsetHolder.ptypesOffset, ptypes);
}
// Support for resetting final fields while deserializing. Implement Holder
// pattern to make the rarely needed offset calculation lazy.
private static class OffsetHolder {
--- 1243,1254 ----
private void MethodType_init(Class<?> rtype, Class<?>[] ptypes) {
// In order to communicate these values to readResolve, we must
// store them into the implementation-specific final fields.
checkRtype(rtype);
checkPtypes(ptypes);
! UNSAFE.putReference(this, OffsetHolder.rtypeOffset, rtype);
! UNSAFE.putReference(this, OffsetHolder.ptypesOffset, ptypes);
}
// Support for resetting final fields while deserializing. Implement Holder
// pattern to make the rarely needed offset calculation lazy.
private static class OffsetHolder {
< prev index next >