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

Tom Rodriguez tom.rodriguez at oracle.com
Fri Jan 7 11:36:05 PST 2011


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