public class ArmFrame extends Frame
Modifier and Type | Field and Description |
---|---|
java.util.List<Access> |
actuals |
static Temp[] |
calldefs |
static Temp[] |
colorRegs |
int |
localsOffset |
int |
maxArgOffset |
static Temp[] |
registers |
static Temp[] |
returnSink |
Constructor and Description |
---|
ArmFrame() |
Modifier and Type | Method and Description |
---|---|
Access |
allocFormal() |
Access |
allocFormal(boolean inFrame) |
Access |
allocLocal() |
Access |
allocLocal(boolean inFrame) |
Label |
badPtr() |
Label |
badSub() |
java.util.List<Instr> |
codeGen(java.util.List<Tree.Stm> stms) |
Temp[] |
colorRegs() |
Tree.Exp |
externalCall(Symbol s,
java.util.List<Tree.Exp> args) |
Temp |
FP() |
Frame |
newFrame(Symbol name) |
void |
printFrame(java.io.PrintWriter writer) |
void |
procEntryExit1(java.util.List<Tree.Stm> body) |
void |
procEntryExit2(java.util.List<Instr> body) |
void |
procEntryExit3(java.util.List<Instr> body) |
java.lang.String |
record(Label lab,
int words) |
java.lang.String |
record(Label lab,
java.util.List<Label> values) |
Temp |
RV() |
Temp[] |
specialRegs() |
void |
spill(java.util.List<Instr> insns,
Temp[] spills) |
java.lang.String |
string(Label lab,
java.lang.String string) |
java.lang.String |
tempMap(Temp temp) |
java.lang.String |
word(Label lab,
int value) |
int |
wordSize() |
public int localsOffset
public int maxArgOffset
public java.util.List<Access> actuals
public static final Temp[] registers
public static final Temp[] colorRegs
public static final Temp[] calldefs
public static final Temp[] returnSink
public Access allocFormal()
allocFormal
in class Frame
public Access allocFormal(boolean inFrame)
public Access allocLocal()
allocLocal
in class Frame
public Access allocLocal(boolean inFrame)
public Temp[] specialRegs()
specialRegs
in class Frame
public Tree.Exp externalCall(Symbol s, java.util.List<Tree.Exp> args)
externalCall
in class Frame
public java.lang.String string(Label lab, java.lang.String string)
public java.lang.String word(Label lab, int value)
public void printFrame(java.io.PrintWriter writer)
printFrame
in class Frame
public java.util.List<Instr> codeGen(java.util.List<Tree.Stm> stms)
public void procEntryExit1(java.util.List<Tree.Stm> body)
procEntryExit1
in class Frame
public void procEntryExit2(java.util.List<Instr> body)
procEntryExit2
in class Frame
public void procEntryExit3(java.util.List<Instr> body)
procEntryExit3
in class Frame