On May 16, 2014, at 4:56 AM, Tobias Hartmann <tobias.hartm...@oracle.com> wrote:

> Is it sufficient then to use synchronized (lambdaForms) { ... } in 
> setCachedLambdaForm(..) and a normal read in cachedLambdaForm(..)?

Yes, that is how I see it.  The fast path is a racy non-volatile read of a 
safely-published structure.

(If safe publication via arrays were broken, java.lang.String would be broken.  
But the JMM is carefully designed to support safe publication of array 
elements, and through array elements.)

— John

Reply via email to