mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-02 16:21:11 +00:00
move fp <- sp later
This commit is contained in:
parent
8021f3809c
commit
63626fe808
1 changed files with 6 additions and 13 deletions
|
@ -385,19 +385,6 @@ impl CallConv<AArch64GeneralReg, AArch64FloatReg, AArch64Assembler> for AArch64C
|
||||||
|
|
||||||
if let Some(aligned_stack_size) = full_stack_size.checked_add(offset as i32) {
|
if let Some(aligned_stack_size) = full_stack_size.checked_add(offset as i32) {
|
||||||
if aligned_stack_size > 0 {
|
if aligned_stack_size > 0 {
|
||||||
// // mov x29, sp
|
|
||||||
// AArch64Assembler::mov_reg64_reg64(
|
|
||||||
// buf,
|
|
||||||
// AArch64GeneralReg::FP,
|
|
||||||
// AArch64GeneralReg::ZRSP,
|
|
||||||
// );
|
|
||||||
AArch64Assembler::sub_reg64_reg64_imm32(
|
|
||||||
buf,
|
|
||||||
AArch64GeneralReg::FP,
|
|
||||||
AArch64GeneralReg::ZRSP,
|
|
||||||
0,
|
|
||||||
);
|
|
||||||
|
|
||||||
// sub sp, sp, #0x10
|
// sub sp, sp, #0x10
|
||||||
AArch64Assembler::sub_reg64_reg64_imm32(
|
AArch64Assembler::sub_reg64_reg64_imm32(
|
||||||
buf,
|
buf,
|
||||||
|
@ -413,6 +400,12 @@ impl CallConv<AArch64GeneralReg, AArch64FloatReg, AArch64Assembler> for AArch64C
|
||||||
offset -= 8;
|
offset -= 8;
|
||||||
AArch64Assembler::mov_stack32_reg64(buf, offset, AArch64GeneralReg::FP);
|
AArch64Assembler::mov_stack32_reg64(buf, offset, AArch64GeneralReg::FP);
|
||||||
|
|
||||||
|
AArch64Assembler::mov_reg64_reg64(
|
||||||
|
buf,
|
||||||
|
AArch64GeneralReg::FP,
|
||||||
|
AArch64GeneralReg::ZRSP,
|
||||||
|
);
|
||||||
|
|
||||||
offset = aligned_stack_size - fn_call_stack_size;
|
offset = aligned_stack_size - fn_call_stack_size;
|
||||||
for reg in saved_general_regs {
|
for reg in saved_general_regs {
|
||||||
offset -= 8;
|
offset -= 8;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue