--- old/src/java.base/share/classes/java/lang/invoke/MethodHandle.java 2014-10-10 22:04:59.000000000 +0400 +++ new/src/java.base/share/classes/java/lang/invoke/MethodHandle.java 2014-10-10 22:04:59.000000000 +0400 @@ -1438,10 +1438,9 @@ /*non-public*/ void updateForm(LambdaForm newForm) { if (form == newForm) return; - assert(this instanceof DirectMethodHandle && this.internalMemberName().isStatic()); // ISSUE: Should we have a memory fence here? + newForm.prepare(); // as in MethodHandle. UNSAFE.putObject(this, FORM_OFFSET, newForm); - this.form.prepare(); // as in MethodHandle. } private static final long FORM_OFFSET;