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

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Jan 7 09:18:42 PST 2011


Looks good

Vladimir

On 1/6/11 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