Commit 7f88d839 authored by Isaac Oscar Gariano's avatar Isaac Oscar Gariano

Merge branch 'develop' of gitlab.anu.edu.au:mu/mu-impl-fast into develop

parents 0ce0c4a6 0e1bf645
Pipeline #710 passed with stages
in 28 minutes and 54 seconds
......@@ -88,7 +88,6 @@ lazy_static! {
VOID_TYPE.clone(),
REF_VOID_TYPE.clone(),
IREF_VOID_TYPE.clone(),
];
];
}
......
......@@ -2053,7 +2053,7 @@ impl CodeGenerator for ASMCodeGen {
fn emit_frame_shrink(&mut self) {
trace!("emit: \tframe shrink");
let asm = format!("ADD SP,SP,#{}", FRAME_SIZE_PLACEHOLDER.clone());
let asm = format!("ADD SP,SP,#{}; MOV SP, X29", FRAME_SIZE_PLACEHOLDER.clone());
let line = self.line();
self.cur_mut().add_frame_size_patchpoint(ASMLocation::new(line, 11, FRAME_SIZE_PLACEHOLDER_LEN, 0));
......@@ -2115,7 +2115,7 @@ impl CodeGenerator for ASMCodeGen {
fn emit_fake_ret(&mut self) {
trace!("emit: \tFAKE RET");
let asm = format!("B muentry_return");
let asm = format!("\tMOV SP, X29\n\tLDP X29, X30,[SP],#16 \n\tRET X30\n");
self.add_asm_inst_internal(asm, linked_hashmap!{}, linked_hashmap!{}, false, ASMBranchTarget::Return, None);
}
......
......@@ -3741,13 +3741,13 @@ impl <'a> InstructionSelection {
}
// Pop the frame record
//self.backend.emit_frame_shrink();
self.backend.emit_frame_shrink();
//self.backend.emit_mov(&SP, &FP);
//self.backend.emit_pop_pair(&FP, &LR, &SP);
self.backend.emit_pop_pair(&FP, &LR, &SP);
// Note: the stack pointer should now be what it was when the function was called
//self.backend.emit_ret(&LR); // return to the Link Register
self.backend.emit_fake_ret();
self.backend.emit_ret(&LR); // return to the Link Register
//self.backend.emit_fake_ret();
self.finish_block();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment