feat: move default return out of functionEpilogue into main def

This commit is contained in:
Guy C 2025-02-24 19:47:06 +00:00
parent 9d78caf6d9
commit 668d7338ae

View File

@ -25,6 +25,7 @@ object asmGenerator {
funcPrologue() ++ funcPrologue() ++
alignStack() ++ alignStack() ++
main.flatMap(generateStmt) ++ main.flatMap(generateStmt) ++
List(Move(Register(RegSize.R64, RegName.AX), ImmediateVal(0))) ++
funcEpilogue() ++ funcEpilogue() ++
List(assemblyIR.Return()) ++ List(assemblyIR.Return()) ++
generateFuncs() generateFuncs()
@ -204,7 +205,6 @@ object asmGenerator {
def funcEpilogue(): List[AsmLine] = { def funcEpilogue(): List[AsmLine] = {
List( List(
Move(Register(RegSize.R64, RegName.AX), ImmediateVal(0)),
Move(Register(RegSize.R64, RegName.SP), Register(RegSize.R64, RegName.BP)), Move(Register(RegSize.R64, RegName.SP), Register(RegSize.R64, RegName.BP)),
Pop(Register(RegSize.R64, RegName.BP)) Pop(Register(RegSize.R64, RegName.BP))
) )