Bug 1528399 - ARM64: EnterJIT should align on 16 bytes instead of 256. r=sstangl

Differential Revision: https://phabricator.services.mozilla.com/D20174

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Nicolas B. Pierron 2019-02-27 16:49:10 +00:00
parent 57ab0d5de2
commit 403cf83c2c

View File

@ -108,7 +108,7 @@ void JitRuntime::generateEnterJIT(JSContext* cx, MacroAssembler& masm) {
// under demand inside the touchFrameValues call.
// Give sp 16-byte alignment and sync stack pointers.
masm.andToStackPtr(Imm32(~0xff));
masm.andToStackPtr(Imm32(~0xf));
// We needn't worry about the Gecko Profiler mark because touchFrameValues
// touches in large increments.
masm.touchFrameValues(reg_argc, r20, r21);
@ -138,7 +138,7 @@ void JitRuntime::generateEnterJIT(JSContext* cx, MacroAssembler& masm) {
Operand(tmp_argc, vixl::SXTX, 3));
// Give sp 16-byte alignment and sync stack pointers.
masm.andToStackPtr(Imm32(~0xff));
masm.andToStackPtr(Imm32(~0xf));
masm.moveStackPtrTo(tmp_sp.asUnsized());
masm.branchTestPtr(Assembler::Zero, reg_argc, reg_argc, &noArguments);