8155100: AArch64: Relax alignment requirement for byte_map_base

Reviewed-by: roland
This commit is contained in:
Andrew Haley 2016-04-26 14:38:39 +00:00
parent 5884a7924e
commit afcf41b8d4

View file

@ -4093,7 +4093,10 @@ void MacroAssembler::load_byte_map_base(Register reg) {
// and it might even be negative. // and it might even be negative.
unsigned long offset; unsigned long offset;
adrp(reg, ExternalAddress((address)byte_map_base), 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 { } else {
mov(reg, (uint64_t)byte_map_base); mov(reg, (uint64_t)byte_map_base);
} }