diff options
author | bd-912 <bdunahu@colostate.edu> | 2024-04-27 21:58:40 -0600 |
---|---|---|
committer | bd-912 <bdunahu@colostate.edu> | 2024-04-27 21:58:40 -0600 |
commit | e3054fac8eca3148df169afa2cd85de40cf5ac94 (patch) | |
tree | 693a4af0c304a992efbbc9fb5852a98369c5f6c7 /vaporize/VaporizeVisitor.java | |
parent | dfcf11cb8d7f28acad505c2785831424c38554b8 (diff) |
Move VaporizeVisitor VCall return store to AFTER restoring locals
Diffstat (limited to 'vaporize/VaporizeVisitor.java')
-rw-r--r-- | vaporize/VaporizeVisitor.java | 12 |
1 files changed, 6 insertions, 6 deletions
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<LIRDict, RuntimeException> 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(), |