summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgeno <gabrigeno@gmail.com>2024-07-14 21:51:23 +0200
committergeno <gabrigeno@gmail.com>2024-07-14 21:51:51 +0200
commited58dc24bd2b235d8fa87c311d42b0926e9e4249 (patch)
tree339732e0ce2783b32026a515572b0f55d4511478
parentce49d20a5fe3726e1800bc495a25c7617212abf4 (diff)
fix: subi instead of pop in returnstmtNode
-rw-r--r--src/ast/nodes/ReturnStmtNode.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/ast/nodes/ReturnStmtNode.java b/src/ast/nodes/ReturnStmtNode.java
index 1264fa9..b497e30 100644
--- a/src/ast/nodes/ReturnStmtNode.java
+++ b/src/ast/nodes/ReturnStmtNode.java
@@ -48,8 +48,8 @@ public class ReturnStmtNode implements Node {
@Override
public String codeGeneration() {
String expS = exprList.codeGeneration();
- for (int i = 0; i < localvar; i++) {
- expS += "pop\n";
+ if(localvar > 0) {
+ expS += "subi SP " + localvar + "\n";
}
return expS +
"popr RA\n" +