summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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" +