8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable
authorqpzhang
Thu, 21 Mar 2019 16:45:33 +0800
changeset 54258 0db90e99f13b
parent 54257 21702e87efdf
child 54259 d25b24c70126
8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable Reviewed-by: aph
src/hotspot/cpu/aarch64/templateTable_aarch64.cpp
--- 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);
   }
 }