--- a/hotspot/src/share/vm/opto/graphKit.cpp Mon May 05 15:10:43 2014 +0200
+++ b/hotspot/src/share/vm/opto/graphKit.cpp Tue May 06 09:17:57 2014 +0200
@@ -1509,6 +1509,8 @@
Node* ld;
if (require_atomic_access && bt == T_LONG) {
ld = LoadLNode::make_atomic(C, ctl, mem, adr, adr_type, t, mo);
+ } else if (require_atomic_access && bt == T_DOUBLE) {
+ ld = LoadDNode::make_atomic(C, ctl, mem, adr, adr_type, t, mo);
} else {
ld = LoadNode::make(_gvn, ctl, mem, adr, adr_type, t, bt, mo);
}
@@ -1531,6 +1533,8 @@
Node* st;
if (require_atomic_access && bt == T_LONG) {
st = StoreLNode::make_atomic(C, ctl, mem, adr, adr_type, val, mo);
+ } else if (require_atomic_access && bt == T_DOUBLE) {
+ st = StoreDNode::make_atomic(C, ctl, mem, adr, adr_type, val, mo);
} else {
st = StoreNode::make(_gvn, ctl, mem, adr, adr_type, val, bt, mo);
}