changeset 10950:0df9b5892b86

8154739: AArch64: TemplateTable::fast_xaccess loads in wrong mode Reviewed-by: roland
author aph
date Wed, 20 Apr 2016 11:14:10 +0000
parents 57f9554a28f1
children 7b35b32cd8d4
files src/cpu/aarch64/vm/templateTable_aarch64.cpp
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/aarch64/vm/templateTable_aarch64.cpp	Wed Apr 20 11:11:56 2016 +0000
+++ b/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);
   }