changeset 38093:5bc7b4b8a473

8155100: AArch64: Relax alignment requirement for byte_map_base Reviewed-by: roland
author aph
date Tue, 26 Apr 2016 14:38:39 +0000
parents 5d2b79c8242b
children cc22ef000685
files hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp	Tue Apr 26 15:16:41 2016 +0200
+++ b/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp	Tue Apr 26 14:38:39 2016 +0000
@@ -4093,7 +4093,10 @@
     // and it might even be negative.
     unsigned long offset;
     adrp(reg, ExternalAddress((address)byte_map_base), offset);
-    assert(offset == 0, "misaligned card table base");
+    // We expect offset to be zero with most collectors.
+    if (offset != 0) {
+      add(reg, reg, offset);
+    }
   } else {
     mov(reg, (uint64_t)byte_map_base);
   }