fix: ensure all advanced wacc-examples function correctly
Merge request lab2425_spring/WACC_37!33
This commit is contained in:
@@ -404,10 +404,16 @@ object asmGenerator {
|
||||
var chain = Chain.empty[AsmLine]
|
||||
val microWacc.Call(target, args) = call
|
||||
|
||||
argRegs.zip(args).foldMap { (reg, expr) =>
|
||||
chain ++= evalExprOntoStack(expr)
|
||||
chain += stack.pop(Register(Q64, reg))
|
||||
}
|
||||
argRegs
|
||||
.zip(args)
|
||||
.map { (reg, expr) =>
|
||||
chain ++= evalExprOntoStack(expr)
|
||||
reg
|
||||
}
|
||||
.reverse
|
||||
.foreach { reg =>
|
||||
chain += stack.pop(Register(Q64, reg))
|
||||
}
|
||||
|
||||
args.drop(argRegs.size).foldMap {
|
||||
chain ++= evalExprOntoStack(_)
|
||||
|
||||
Reference in New Issue
Block a user