Reported by: patrick@os.amperecomputing.com
https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-February/006942.html 
===================
Perhaps TemplateTable::fast_storefield needs the additional " | MacroAssembler::LoadStore" as well, please double check, thanks.
http://hg.openjdk.java.net/jdk/jdk/file/f41793b5b83f/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp#l2984
===================
Proposed fix: https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-February/006947.html 
diff -r 2a78b2963793 src/hotspot/cpu/aarch64/templateTable_aarch64.cpp
--- a/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp Wed Feb 13 13:27:17 2019 +0100
+++ b/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp Fri Feb 22 17:18:20 2019 +0800
@@ -2981,7 +2981,7 @@
   {
     Label notVolatile;
     __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
-    __ membar(MacroAssembler::StoreStore);
+    __ membar(MacroAssembler::StoreStore | MacroAssembler::LoadStore);
     __ bind(notVolatile);
   }