From e3054fac8eca3148df169afa2cd85de40cf5ac94 Mon Sep 17 00:00:00 2001 From: bd-912 Date: Sat, 27 Apr 2024 21:58:40 -0600 Subject: Move VaporizeVisitor VCall return store to AFTER restoring locals --- vaporize/VaporizeVisitor.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'vaporize') diff --git a/vaporize/VaporizeVisitor.java b/vaporize/VaporizeVisitor.java index 55340f4..17e9981 100644 --- a/vaporize/VaporizeVisitor.java +++ b/vaporize/VaporizeVisitor.java @@ -126,18 +126,18 @@ public class VaporizeVisitor extends VInstr.VisitorP this.addVaporm(String.format(" call %s", interval .getAssignedRegister())); + for (int i = 0; i < this.caller_save.length; ++i) { + this.addVaporm(String.format(" %s = local[%s]", + this.caller_save[i], + i+8)); + } + // get dest if (n.dest != null) { this.addVaporm(String.format(" %s = $v0", d.getInterval(((VVarRef.Local) n.dest).ident) .getAssignedRegister())); } - - for (int i = 0; i < this.caller_save.length; ++i) { - this.addVaporm(String.format(" %s = local[%s]", - this.caller_save[i], - i+8)); - } /////////////////////////////////////////////////////////////// MinimalLogger.info(String.format("<-%s (%s)", n.getClass().getSimpleName(), -- cgit v1.2.3