mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 11:04:34 +02:00
7121140: Allocation paths require explicit memory synchronization operations for RMO systems
Adds store store barrier after initialization of header and body of objects. Reviewed-by: never, kvn
This commit is contained in:
parent
e057d60ca1
commit
97439fb4ff
13 changed files with 196 additions and 7 deletions
|
@ -2721,6 +2721,7 @@ MemBarNode* MemBarNode::make(Compile* C, int opcode, int atp, Node* pn) {
|
|||
case Op_MemBarVolatile: return new(C, len) MemBarVolatileNode(C, atp, pn);
|
||||
case Op_MemBarCPUOrder: return new(C, len) MemBarCPUOrderNode(C, atp, pn);
|
||||
case Op_Initialize: return new(C, len) InitializeNode(C, atp, pn);
|
||||
case Op_MemBarStoreStore: return new(C, len) MemBarStoreStoreNode(C, atp, pn);
|
||||
default: ShouldNotReachHere(); return NULL;
|
||||
}
|
||||
}
|
||||
|
@ -2870,7 +2871,7 @@ Node *MemBarNode::match( const ProjNode *proj, const Matcher *m ) {
|
|||
|
||||
//---------------------------InitializeNode------------------------------------
|
||||
InitializeNode::InitializeNode(Compile* C, int adr_type, Node* rawoop)
|
||||
: _is_complete(Incomplete),
|
||||
: _is_complete(Incomplete), _does_not_escape(false),
|
||||
MemBarNode(C, adr_type, rawoop)
|
||||
{
|
||||
init_class_id(Class_Initialize);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue