RFR(XS) 8178047: Aliasing problem with raw memory accesses
Igor Veresov
igor.veresov at oracle.com
Fri Apr 14 03:30:52 UTC 2017
This seems like a long-standing bug. Analysis in MemNode::find_previous_store() tries to relax memory dependencies by proving that memory accesses don’t alias. The code is fine for oops: if [offset, offset+length) intervals don’t overlap it proves the accesses don’t alias because bases always point to the start of an object. For raw accesses that’s not true. Offset analysis doesn’t mean much without proving that bases are not the same.
Webrev: http://cr.openjdk.java.net/~iveresov/8178047/webrev.00
Thanks,
igor
More information about the hotspot-compiler-dev
mailing list