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