8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable

Reviewed-by: aph
This commit is contained in:
Patrick Zhang 2019-03-21 16:45:33 +08:00
parent 223e1c6e42
commit 5793068c77

@ -2885,7 +2885,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
{
Label notVolatile;
__ tbz(r5, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
__ membar(MacroAssembler::StoreLoad);
__ membar(MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
__ bind(notVolatile);
}
}
@ -3029,7 +3029,7 @@ void TemplateTable::fast_storefield(TosState state)
{
Label notVolatile;
__ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
__ membar(MacroAssembler::StoreLoad);
__ membar(MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
__ bind(notVolatile);
}
}