On Jun 2, 2014, at 6:29 AM, Vladimir Ivanov <vladimir.x.iva...@oracle.com> 
wrote:

> Tobias, I'll take care of it.

Are you also taking care of the backports?

> 
> Best regards,
> Vladimir Ivanov
> 
> On 6/2/14 10:04 AM, Tobias Hartmann wrote:
>> 
>> On 28.05.2014 12:48, Vladimir Ivanov wrote:
>>> Looks good.
>>> 
>>> It should be safe to sync on MTF instance since it's not accessible
>>> outside (MTF and MT.form() are package-private).
>>> 
>>> Best regards,
>>> Vladimir Ivanov
>> 
>> Thank you, Vladimir.
>> 
>> Could someone please push the patch?
>> 
>> Thanks,
>> Tobias
>> 
>>> 
>>> On 5/28/14 1:49 PM, Tobias Hartmann wrote:
>>>> Hi,
>>>> 
>>>> thanks everyone for the feedback!
>>>> 
>>>> @Remi: I agree with Paul. This is not a problem because if the normal
>>>> read sees an outdated null value, a new LambdaForm is created and
>>>> setCachedLambdaForm(...) is executed. This will guarantee that the
>>>> non-null value is seen and used. The unnecessary creation of a new
>>>> LamdaForm is not a problem either.
>>>> 
>>>> @John: I added the code that you suggested to simulate CAS. Please find
>>>> the new webrev at:
>>>> 
>>>> http://cr.openjdk.java.net/~anoll/8005873/webrev.02/
>>>> 
>>>> Sorry for the delay, I was on vacation.
>>>> 
>>>> Thanks,
>>>> Tobias
>>>> 
>>>> On 19.05.2014 20:31, John Rose wrote:
>>>>> 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