frame
Class Frame
java.lang.Object
frame.Frame
- All Implemented Interfaces:
- temp.TempMap
- Direct Known Subclasses:
- Frame
public abstract class Frame
- extends java.lang.Object
- implements temp.TempMap
Constructor Summary |
Frame()
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface temp.TempMap |
tempMap |
name
public temp.Label name
formals
public List<frame.Access> formals
Frame
public Frame()
newFrame
public abstract Frame newFrame(temp.Label name,
List<java.lang.Boolean> formals)
allocLocal
public abstract frame.Access allocLocal(boolean escapes)
wordsize
public abstract int wordsize()
SP
public abstract temp.Temp SP()
- Returns:
- Registrador que guarda o stack pointer
FP
public abstract temp.Temp FP()
- Returns:
- Registrador que guarda o frame pointer
externalCall
public abstract Exp externalCall(java.lang.String s,
List<Exp> args)
RV
public abstract temp.Temp RV()
- Returns:
- Registrador que guarda o valor de retorno de uma função
procEntryExit1
public abstract Stm procEntryExit1(Exp body)
procEntryExit2
public abstract List<Instr> procEntryExit2(List<Instr> body)
procEntryExit3
public abstract frame.Proc procEntryExit3(List<Instr> body)
codegen
public abstract List<Instr> codegen(List<Stm> body)
registers
public abstract List<temp.Temp> registers()
calleeDefs
public abstract List<temp.Temp> calleeDefs()
- Returns:
- Lista de registradores "callee def".