< prev index next >

src/cpu/aarch64/vm/templateTable_aarch64.cpp

Print this page
rev 10895 : 8221220: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable

@@ -2825,11 +2825,11 @@
   __ bind(Done);
 
   {
     Label notVolatile;
     __ tbz(r5, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
-    __ membar(MacroAssembler::StoreLoad);
+    __ membar(MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
     __ bind(notVolatile);
   }
 }
 
 void TemplateTable::putfield(int byte_no)

@@ -2964,11 +2964,11 @@
   }
 
   {
     Label notVolatile;
     __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
-    __ membar(MacroAssembler::StoreLoad);
+    __ membar(MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
     __ bind(notVolatile);
   }
 }
 
 
< prev index next >