summaryrefslogtreecommitdiff
path: root/vaporize/VaporizeVisitor.java
diff options
context:
space:
mode:
authorbd-912 <bdunahu@colostate.edu>2024-04-27 21:58:40 -0600
committerbd-912 <bdunahu@colostate.edu>2024-04-27 21:58:40 -0600
commite3054fac8eca3148df169afa2cd85de40cf5ac94 (patch)
tree693a4af0c304a992efbbc9fb5852a98369c5f6c7 /vaporize/VaporizeVisitor.java
parentdfcf11cb8d7f28acad505c2785831424c38554b8 (diff)
Move VaporizeVisitor VCall return store to AFTER restoring locals
Diffstat (limited to 'vaporize/VaporizeVisitor.java')
-rw-r--r--vaporize/VaporizeVisitor.java12
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(),