src/java.base/share/classes/java/lang/invoke/MethodHandle.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/java.base/share/classes/java/lang/invoke/MethodHandle.java Tue Oct 14 22:50:05 2014
--- new/src/java.base/share/classes/java/lang/invoke/MethodHandle.java Tue Oct 14 22:50:05 2014
*** 1436,1449 ****
--- 1436,1448 ----
* Use with discretion.
*/
/*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.<init>
UNSAFE.putObject(this, FORM_OFFSET, newForm);
this.form.prepare(); // as in MethodHandle.<init>
+ UNSAFE.fullFence();
}
private static final long FORM_OFFSET;
static {
try {
src/java.base/share/classes/java/lang/invoke/MethodHandle.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File