[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