[9] RFR(S): 8036851: volatile double accesses are not explicitly	atomic in C2
    Christian Thalinger 
    christian.thalinger at oracle.com
       
    Fri May  2 19:23:46 UTC 2014
    
    
  
src/share/vm/opto/memnode.hpp:
+   #ifndef PRODUCT
+     virtual void dump_spec(outputStream *st) const {
+       LoadNode::dump_spec(st);
+       if (_require_atomic_access)  st->print(" Atomic!");
+     }
+   #endif
Indent is wrong.
Otherwise this looks good.
On May 2, 2014, at 2:15 AM, Tobias Hartmann <tobias.hartmann at oracle.com> wrote:
> Hi,
> 
> please review the following patch for bug 8036851.
> 
> Problem
> Volatile double accesses are not treated different from normal accesses in the C2 compiler with respect to atomicity because on x86 and sparc double accesses were always atomic. However, this may not be case on other architectures. On an architecture where there are atomic and non-atomic double accesses, we would have to implement all accesses to be atomic, because the C2 compiler does not distinguish between the two cases.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8036851
> 
> Solution
> The C2 structure is adapted to distinguish between volatile and non-volatile double accesses.
> Webrev: http://cr.openjdk.java.net/~anoll/8036851/webrev.00/
> 
> Tests
> JPRT
> 
> Thanks,
> Tobias
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20140502/046e34b4/attachment-0001.html>
    
    
More information about the hotspot-compiler-dev
mailing list