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