feat: x86 code generation implementation without runtime checking #29

Merged
gk1623 merged 58 commits from asm-gen into master 2025-02-27 18:54:57 +00:00
5 changed files with 391 additions and 196 deletions
Showing only changes of commit 668d7338ae - Show all commits

View File

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