--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java 2019-05-14 01:06:09.736439232 +0200 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java 2019-05-14 01:06:09.332436289 +0200 @@ -50,7 +50,7 @@ public static Object lowerUnsafeLoad(Object object, long offset) { Object fixedObject = FixedValueAnchorNode.getObject(object); if (object instanceof java.lang.ref.Reference && referentOffset(INJECTED_METAACCESS) == offset) { - return Word.objectToTrackedPointer(fixedObject).readObject((int) offset, BarrierType.PRECISE); + return Word.objectToTrackedPointer(fixedObject).readObject((int) offset, BarrierType.WEAK_FIELD); } else { return Word.objectToTrackedPointer(fixedObject).readObject((int) offset, BarrierType.NONE); }