--- old/src/java.base/share/classes/java/lang/invoke/MethodHandle.java 2018-01-03 13:18:01.489586793 -0800 +++ new/src/java.base/share/classes/java/lang/invoke/MethodHandle.java 2018-01-03 13:18:01.265584514 -0800 @@ -1660,13 +1660,13 @@ assert(newForm.customized == null || newForm.customized == this); if (form == newForm) return; newForm.prepare(); // as in MethodHandle. - UNSAFE.putObject(this, FORM_OFFSET, newForm); - UNSAFE.fullFence(); + UNSAFE.putObjectVolatile(this, FORM_OFFSET, newForm); } /** Craft a LambdaForm customized for this particular MethodHandle */ /*non-public*/ void customize() { + final LambdaForm form = this.form; if (form.customized == null) { LambdaForm newForm = form.customize(this); updateForm(newForm);