|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectharpoon.Backend.Generic.InstrBuilder
harpoon.Backend.MIPS.InstrBuilder
public class InstrBuilder
MIPS.InstrBuilder is an Generic.InstrBuilder for the
MIPS architecture.
| Method Summary | |
|---|---|
int |
getSize(Temp t)
Returns the size of temp on the stack. |
InstrLABEL |
makeLabel(Instr template)
|
InstrLABEL |
makeLabel(Label l,
Instr template)
Returns a new InstrLABEL for generating new
arbitrary code blocks to branch to. |
List |
makeLoad(Temp r,
int offset,
Instr template)
Generates a new set of Instrs for memory traffic
from RAM to one register in the register file. |
List |
makeStore(Temp r,
int offset,
Instr template)
Generates a new set of Instrs for memory traffic
from the register file to RAM. |
| Methods inherited from class harpoon.Backend.Generic.InstrBuilder |
|---|
makeLoad, makeStore |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public int getSize(Temp t)
InstrBuildertemp on the stack.
temp would have on the stack (in
terms of the abstract number used for calculating stack
offsets in makeLoad() and
makeStore()).
t1 and
t2, either
( offset(t2) is greater than or equal to
offset(t1) + getSize(t1) )
OR
( offset(t1) is greater than or equal to
offset(t2) + getSize(t2) ).
getSize in class InstrBuilderInstrBuilder.makeLoad(java.util.List, int, harpoon.IR.Assem.Instr),
InstrBuilder.makeStore(java.util.List, int, harpoon.IR.Assem.Instr)
public List makeLoad(Temp r,
int offset,
Instr template)
InstrBuilderInstrs for memory traffic
from RAM to one register in the register file.
makeLoad in class InstrBuilderInstrBuilder.getSize(harpoon.Temp.Temp)
public List makeStore(Temp r,
int offset,
Instr template)
InstrBuilderInstrs for memory traffic
from the register file to RAM.
makeStore in class InstrBuilderInstrBuilder.getSize(harpoon.Temp.Temp)public InstrLABEL makeLabel(Instr template)
public InstrLABEL makeLabel(Label l,
Instr template)
InstrLABEL for generating new
arbitrary code blocks to branch to.
makeLabel in class InstrBuildertemplate - An Instr to base the generated
InstrLABEL.
template should be part of the
instruction stream that the returned
InstrLABEL is intended for.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||