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