equal
deleted
inserted
replaced
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); |