Mips
Class MipsFrame

java.lang.Object
  extended by Frame.Frame
      extended by Mips.MipsFrame

public class MipsFrame
extends Frame


Field Summary
 Temp RV
           
 
Fields inherited from class Frame.Frame
global, maxArgsOut, name
 
Constructor Summary
MipsFrame()
           
 
Method Summary
 Access allocFormal(java.lang.String s)
          Allocate a formal parameter named s in this frame.
 Access allocLocal(java.lang.String s)
          Allocate a local variable named s in this frame.
 Label badPtr()
           
 Label badSub()
           
 Visitor<Temp,java.util.LinkedList<Instr>> codegen()
           
 Exp external(java.lang.String s)
           
 Frame mainFrame()
           
 Frame newFrame(java.lang.String name)
           
 void procEntryExit1(java.util.LinkedList<Stm> body)
           
 void procEntryExit2(java.util.LinkedList<Instr> insns)
           
 void procEntryExit3(java.util.LinkedList<Instr> insns, TempMap map)
           
 java.lang.String record(Label lab, int words)
           
 Temp[] registers()
           
 Exp RV()
           
 java.lang.String string(Label lab, java.lang.String string)
           
 java.lang.String vtable(Label lab, java.util.LinkedList<Label> values)
           
 int wordSize()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RV

public Temp RV
Constructor Detail

MipsFrame

public MipsFrame()
Method Detail

newFrame

public Frame newFrame(java.lang.String name)
Specified by:
newFrame in class Frame

mainFrame

public Frame mainFrame()
Specified by:
mainFrame in class Frame

wordSize

public int wordSize()
Specified by:
wordSize in class Frame

allocFormal

public Access allocFormal(java.lang.String s)
Description copied from class: Frame
Allocate a formal parameter named s in this frame.

Specified by:
allocFormal in class Frame

allocLocal

public Access allocLocal(java.lang.String s)
Description copied from class: Frame
Allocate a local variable named s in this frame. If s is null, then the variable is forced to be allocated in memory in the frame. If s is non-null, then the variable is eligible for register allocation.

Specified by:
allocLocal in class Frame

registers

public Temp[] registers()
Specified by:
registers in class Frame

RV

public Exp RV()
Specified by:
RV in class Frame

external

public Exp external(java.lang.String s)
Specified by:
external in class Frame

string

public java.lang.String string(Label lab,
                               java.lang.String string)
Specified by:
string in class Frame

record

public java.lang.String record(Label lab,
                               int words)
Specified by:
record in class Frame

vtable

public java.lang.String vtable(Label lab,
                               java.util.LinkedList<Label> values)
Specified by:
vtable in class Frame

badPtr

public Label badPtr()
Specified by:
badPtr in class Frame

badSub

public Label badSub()
Specified by:
badSub in class Frame

codegen

public Visitor<Temp,java.util.LinkedList<Instr>> codegen()
Specified by:
codegen in class Frame

procEntryExit1

public void procEntryExit1(java.util.LinkedList<Stm> body)
Specified by:
procEntryExit1 in class Frame

procEntryExit2

public void procEntryExit2(java.util.LinkedList<Instr> insns)
Specified by:
procEntryExit2 in class Frame

procEntryExit3

public void procEntryExit3(java.util.LinkedList<Instr> insns,
                           TempMap map)
Specified by:
procEntryExit3 in class Frame