RFR (S) 8175887: C1 value numbering handling of Unsafe.get*Volatile is incorrect

Aleksey Shipilev shade at redhat.com
Tue Feb 28 15:36:04 UTC 2017


On 02/28/2017 04:28 PM, Vladimir Ivanov wrote:
> Thanks for the fix, Aleksey.
> 
>> Updated after off-list review (renamed tests, used internal Unsafe):
>>   http://cr.openjdk.java.net/~shade/8175887/webrev.02/
> 
> I'm fine with the fix in do_UnsafeGetObject.
> 
> Changes in do_UnsafeGetRaw don't make much sense to me. Following the reasoning
> in the comment ("better be safe than sorry") you have to
> unconditionally kill memory for UnsafeGetObject as well :-)
> 
> If there's a need in ordering raw loads, I'd prefer to see a dedicated flag
> (like UnsafeObjectOp::_is_volatile) introduced instead.
> Right now, UnsafeGetRaw usage is very limited (only for restoring frame state in
> OSR entry), so I don't see any reason in doing that.
> 
> So, please, leave it as is.

All right, fine:
  http://cr.openjdk.java.net/~shade/8175887/webrev.03/

-Aleksey

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20170228/1da13ec0/signature.asc>


More information about the hotspot-compiler-dev mailing list