8155100: AArch64: Relax alignment requirement for byte_map_base
authoraph
Tue, 26 Apr 2016 14:38:39 +0000
changeset 38093 5bc7b4b8a473
parent 38092 5d2b79c8242b
child 38096 cc22ef000685
8155100: AArch64: Relax alignment requirement for byte_map_base Reviewed-by: roland
hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
--- 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);
   }