8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable
Reviewed-by: aph
--- a/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp Sat Mar 23 21:51:07 2019 -0700
+++ b/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp Thu Mar 21 16:45:33 2019 +0800
@@ -2885,7 +2885,7 @@
{
Label notVolatile;
__ tbz(r5, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
- __ membar(MacroAssembler::StoreLoad);
+ __ membar(MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
__ bind(notVolatile);
}
}
@@ -3029,7 +3029,7 @@
{
Label notVolatile;
__ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
- __ membar(MacroAssembler::StoreLoad);
+ __ membar(MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
__ bind(notVolatile);
}
}