src/share/classes/java/lang/invoke/MethodTypeForm.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/classes/java/lang/invoke/MethodTypeForm.java	Wed May 28 11:09:44 2014
--- new/src/share/classes/java/lang/invoke/MethodTypeForm.java	Wed May 28 11:09:44 2014

*** 89,100 **** --- 89,102 ---- public LambdaForm cachedLambdaForm(int which) { return lambdaForms[which]; } ! synchronized public LambdaForm setCachedLambdaForm(int which, LambdaForm form) { ! // Should we perform some sort of CAS, to avoid racy duplication? ! // Simulate a CAS, to avoid racy duplication of results. + LambdaForm prev = lambdaForms[which]; + if (prev != null) return prev; return lambdaForms[which] = form; } public MethodHandle basicInvoker() { assert(erasedType == basicType) : "erasedType: " + erasedType + " != basicType: " + basicType; // primitives must be flattened also

src/share/classes/java/lang/invoke/MethodTypeForm.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File