[9] RFR(S): 8036851: volatile double accesses are not explicitly atomic in C2

Tobias Hartmann Tobias.Hartmann at oracle.com
Mon May 5 07:02:44 UTC 2014


Hi Christian,

thanks for the review.

On 05/02/2014 09:23 PM, Christian Thalinger wrote:
> *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.

I missed that, thanks!

New webrev: http://cr.openjdk.java.net/~anoll/8036851/webrev.01/

Best regards,
Tobias

>
> Otherwise this looks good.
>
> On May 2, 2014, at 2:15 AM, Tobias Hartmann 
> <tobias.hartmann at oracle.com <mailto: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/ 
>> <http://cr.openjdk.java.net/%7Eanoll/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/20140505/4c7bec24/attachment-0001.html>


More information about the hotspot-compiler-dev mailing list