diff options
author | bd-912 <bdunahu@colostate.edu> | 2024-04-27 14:51:07 -0600 |
---|---|---|
committer | bd-912 <bdunahu@colostate.edu> | 2024-04-27 14:51:07 -0600 |
commit | c1d57f46c0eb74fbea90db8df8b42dc3ac8c31d5 (patch) | |
tree | 17652cbbe3db6532774a5c536abaad109536aae5 /vaporize | |
parent | 47729aecfe2026cd700d7a81a628f2038991ed8d (diff) |
Fix Calling ArrayAlloc or other labels
Diffstat (limited to 'vaporize')
-rw-r--r-- | vaporize/VaporizeVisitor.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/vaporize/VaporizeVisitor.java b/vaporize/VaporizeVisitor.java index c8cee17..aa462a5 100644 --- a/vaporize/VaporizeVisitor.java +++ b/vaporize/VaporizeVisitor.java @@ -113,9 +113,19 @@ public class VaporizeVisitor extends VInstr.VisitorP<LIRDict, RuntimeException> reg)); } - this.addVaporm(String.format(" call %s", - d.getInterval(n.addr.toString()) - .getAssignedRegister())); + MinimalLogger.severe(String.format("n addr: %s", + n.addr.toString())); + MinimalLogger.severe(String.format("Interval: %s", + d.getInterval(n.addr.toString()))); + LIRVar interval = d.getInterval(n.addr.toString()); + if (interval == null) + // a label + this.addVaporm(String.format(" call %s", + n.addr.toString())); + else + this.addVaporm(String.format(" call %s", + interval + .getAssignedRegister())); // get dest if (n.dest != null) { this.addVaporm(String.format(" %s = $v0", |