8154739: AArch64: TemplateTable::fast_xaccess loads in wrong mode
authoraph
Wed, 20 Apr 2016 11:14:10 +0000
changeset 38005 5db1fc974323
parent 38004 9a5433ffaa8a
child 38006 65a10510697a
8154739: AArch64: TemplateTable::fast_xaccess loads in wrong mode Reviewed-by: roland
hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp
--- a/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp	Wed Apr 20 11:11:56 2016 +0000
+++ b/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp	Wed Apr 20 11:14:10 2016 +0000
@@ -2982,7 +2982,7 @@
   __ null_check(r0);
   switch (state) {
   case itos:
-    __ ldr(r0, Address(r0, r1, Address::lsl(0)));
+    __ ldrw(r0, Address(r0, r1, Address::lsl(0)));
     break;
   case atos:
     __ load_heap_oop(r0, Address(r0, r1, Address::lsl(0)));
@@ -3000,7 +3000,7 @@
     __ ldrw(r3, Address(r2, in_bytes(ConstantPoolCache::base_offset() +
                                      ConstantPoolCacheEntry::flags_offset())));
     __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
-    __ membar(MacroAssembler::LoadLoad);
+    __ membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore);
     __ bind(notVolatile);
   }