src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java
changeset 52220 9c260a6b6471
parent 52015 821bfc24d750
child 54677 beca9f8524c1
equal deleted inserted replaced
52219:151b990e3764 52220:9c260a6b6471
   938             try {
   938             try {
   939                 MemberName sdField = IMPL_LOOKUP.resolveOrFail(REF_getStatic, speciesCode, sdFieldName, metaType);
   939                 MemberName sdField = IMPL_LOOKUP.resolveOrFail(REF_getStatic, speciesCode, sdFieldName, metaType);
   940                 Object base = MethodHandleNatives.staticFieldBase(sdField);
   940                 Object base = MethodHandleNatives.staticFieldBase(sdField);
   941                 long offset = MethodHandleNatives.staticFieldOffset(sdField);
   941                 long offset = MethodHandleNatives.staticFieldOffset(sdField);
   942                 UNSAFE.loadFence();
   942                 UNSAFE.loadFence();
   943                 return metaType.cast(UNSAFE.getObject(base, offset));
   943                 return metaType.cast(UNSAFE.getReference(base, offset));
   944             } catch (Error err) {
   944             } catch (Error err) {
   945                 throw err;
   945                 throw err;
   946             } catch (Exception ex) {
   946             } catch (Exception ex) {
   947                 throw newInternalError("Failed to load speciesData from speciesCode: " + speciesCode.getName(), ex);
   947                 throw newInternalError("Failed to load speciesData from speciesCode: " + speciesCode.getName(), ex);
   948             } catch (Throwable t) {
   948             } catch (Throwable t) {
   968 
   968 
   969                 MemberName sdField = IMPL_LOOKUP.resolveOrFail(REF_putStatic, speciesCode, sdFieldName, metaType);
   969                 MemberName sdField = IMPL_LOOKUP.resolveOrFail(REF_putStatic, speciesCode, sdFieldName, metaType);
   970                 Object base = MethodHandleNatives.staticFieldBase(sdField);
   970                 Object base = MethodHandleNatives.staticFieldBase(sdField);
   971                 long offset = MethodHandleNatives.staticFieldOffset(sdField);
   971                 long offset = MethodHandleNatives.staticFieldOffset(sdField);
   972                 UNSAFE.storeFence();
   972                 UNSAFE.storeFence();
   973                 UNSAFE.putObject(base, offset, speciesData);
   973                 UNSAFE.putReference(base, offset, speciesData);
   974                 UNSAFE.storeFence();
   974                 UNSAFE.storeFence();
   975             } catch (Error err) {
   975             } catch (Error err) {
   976                 throw err;
   976                 throw err;
   977             } catch (Exception ex) {
   977             } catch (Exception ex) {
   978                 throw newInternalError("Failed to link speciesData to speciesCode: " + speciesCode.getName(), ex);
   978                 throw newInternalError("Failed to link speciesData to speciesCode: " + speciesCode.getName(), ex);