Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/memnode.cpp @ 23054:55d07ec5bde4
8036851: volatile double accesses are not explicitly atomic in C2
Summary: The C2 structure is adapted to distinguish between volatile and non-volatile double accesses.
Reviewed-by: twisti, kvn
Contributed-by: Tobias Hartmann <tobias.hartmann@oracle.com>
author | anoll |
---|---|
date | Tue, 06 May 2014 09:17:57 +0200 |
parents | e194d26c9f4e |
children | c1c199dde5c9 |
line wrap: on
line diff
--- a/src/share/vm/opto/memnode.cpp Tue May 26 11:26:50 2015 -0700 +++ b/src/share/vm/opto/memnode.cpp Tue May 06 09:17:57 2014 +0200 @@ -940,6 +940,10 @@ return new (C) LoadLNode(ctl, mem, adr, adr_type, rt->is_long(), mo, require_atomic); } +LoadDNode* LoadDNode::make_atomic(Compile *C, Node* ctl, Node* mem, Node* adr, const TypePtr* adr_type, const Type* rt, MemOrd mo) { + bool require_atomic = true; + return new (C) LoadDNode(ctl, mem, adr, adr_type, rt, mo, require_atomic); +} @@ -2398,6 +2402,11 @@ return new (C) StoreLNode(ctl, mem, adr, adr_type, val, mo, require_atomic); } +StoreDNode* StoreDNode::make_atomic(Compile *C, Node* ctl, Node* mem, Node* adr, const TypePtr* adr_type, Node* val, MemOrd mo) { + bool require_atomic = true; + return new (C) StoreDNode(ctl, mem, adr, adr_type, val, mo, require_atomic); +} + //--------------------------bottom_type---------------------------------------- const Type *StoreNode::bottom_type() const {