Request for review: 7010665 - Misplaced membar in C1 implementation of Unsafe.get/putXXX

David Holmes David.Holmes at oracle.com
Fri Jan 7 15:26:18 PST 2011


Thanks Tom, Vladimir and Igor.

David

Tom Rodriguez said the following on 01/08/11 05:36:
> Looks good.
> 
> tom
> 
> On Jan 6, 2011, at 11:09 PM, David Holmes wrote:
> 
>> http://cr.openjdk.java.net/~dholmes/7010665/
>>
>> The memory barriers were misplaced in the intrinsic versions of the Unsafe.get/put<type>Volatile methods
>>
>> get
>> old: -> membar_acquire(), load; membar()
>> new: -> load; membar_acquire()
>>
>> put
>> old: -> membar_release(); store
>> new: -> membar_release(); store; membar()
>>
>> These now match the C1 handling of Java volatile variables (see LIRGenerator::do_StoreField and LIRGenerator::do_LoadField in the same file).
>>
>> The non-intrinsic versions are being fixed as part of 7009756.
>>
>> Thanks,
>> David
> 


More information about the hotspot-dev mailing list