From 62091005231095abbf8e2cebbfce708815cb63f0 Mon Sep 17 00:00:00 2001 From: bd-912 Date: Wed, 24 Apr 2024 21:05:15 -0600 Subject: Added VaporizeVisitor, with VAssign, VMemRead, and VMemWrite --- V2VM.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'V2VM.java') diff --git a/V2VM.java b/V2VM.java index 1dfa4cf..ef3d9f6 100644 --- a/V2VM.java +++ b/V2VM.java @@ -38,9 +38,20 @@ public class V2VM { for (LIRDict interval : lvs) { MinimalLogger.info(String.format("Starting Linear Allocation for %s...", interval.getFunction())); - new RegisterAlloc(interval, Arrays.copyOfRange(prog.registers, 6, 22)); + new RegisterAlloc(interval, Arrays.copyOfRange(prog.registers, 9, 22)); // spill registers: t0, t1, t2 } + MinimalLogger.info("Removing extraneous lines from the program representation..."); + for (String line : new ArrayList(strProg)) { + // delete all lines not a function table! + if (!line.trim().startsWith("const") && !line.trim().startsWith(":")) + strProg.remove(line); + } + MinimalLogger.info(String.format("New program: %s", + strProg.toString())); + VaporizeVisitor vv = new VaporizeVisitor(prog, strProg, lvs); + System.out.println(String.join("\n", vv.getVaporm())); + } catch (IOException e) { System.out.println(e.toString()); System.exit(1); -- cgit v1.2.3