changeset 10328:2bbcdd69f3ac icedtea-3.12.0pre01

8221220, PR3724: AArch64: Add StoreStore membar explicitly for Volatile Writes in TemplateTable Reviewed-by: aph
author qpzhang
date Mon, 25 Mar 2019 18:48:15 +0800
parents ab373790e0c4
children 9bd019eb90cc
files src/cpu/aarch64/vm/templateTable_aarch64.cpp
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/aarch64/vm/templateTable_aarch64.cpp	Fri Apr 12 21:32:29 2019 +0100
+++ b/src/cpu/aarch64/vm/templateTable_aarch64.cpp	Mon Mar 25 18:48:15 2019 +0800
@@ -1440,7 +1440,7 @@
 {
   transition(itos, itos);
   __ negw(r0, r0);
- 
+
 }
 
 void TemplateTable::lneg()
@@ -1664,7 +1664,7 @@
     __ br(Assembler::HI, done);
     // install 0 for EQ otherwise ~0
     __ csinv(r0, zr, zr, Assembler::EQ);
-    
+
   }
   __ bind(done);
 }
@@ -1716,7 +1716,7 @@
   }
 
   // Normal (non-jsr) branch handling
-  
+
   // Adjust the bcp by the displacement in r2
   __ add(rbcp, rbcp, r2);
 
@@ -2796,7 +2796,7 @@
   {
     Label notVolatile;
     __ tbz(r5, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
-    __ membar(MacroAssembler::StoreLoad);
+    __ membar(MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
     __ bind(notVolatile);
   }
 }
@@ -2934,7 +2934,7 @@
   {
     Label notVolatile;
     __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
-    __ membar(MacroAssembler::StoreLoad);
+    __ membar(MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
     __ bind(notVolatile);
   }
 }