< prev index next >
src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
Print this page
rev 53308 : 8247350: [aarch64] assert(false) failed: wrong size of mach node
Summary: use movptr() to load address of string
Reviewed-by: adinn, azeemj
@@ -1305,11 +1305,11 @@
stp(r0, rscratch1, Address(pre(sp, -2 * wordSize)));
stp(rscratch2, lr, Address(pre(sp, -2 * wordSize)));
mov(r0, reg);
- mov(rscratch1, (address)b);
+ movptr(rscratch1, (uintptr_t)(address)b);
// call indirectly to solve generation ordering problem
lea(rscratch2, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address()));
ldr(rscratch2, Address(rscratch2));
blr(rscratch2);
@@ -1341,11 +1341,11 @@
lea(r0, addr);
ldr(r0, Address(r0, 4 * wordSize));
} else {
ldr(r0, addr);
}
- mov(rscratch1, (address)b);
+ movptr(rscratch1, (uintptr_t)(address)b);
// call indirectly to solve generation ordering problem
lea(rscratch2, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address()));
ldr(rscratch2, Address(rscratch2));
blr(rscratch2);
@@ -2135,12 +2135,12 @@
}
void MacroAssembler::stop(const char* msg) {
address ip = pc();
pusha();
- mov(c_rarg0, (address)msg);
- mov(c_rarg1, (address)ip);
+ movptr(c_rarg0, (uintptr_t)(address)msg);
+ movptr(c_rarg1, (uintptr_t)(address)ip);
mov(c_rarg2, sp);
mov(c_rarg3, CAST_FROM_FN_PTR(address, MacroAssembler::debug64));
blr(c_rarg3);
hlt(0);
}
< prev index next >