|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectat.dms.backend.CodeSequence
public class CodeSequence
This class reconstructs the code sequence
| Constructor Summary | |
|---|---|
CodeSequence()
|
|
| Method Summary | |
|---|---|
void |
close()
Closes the code sequence Generates pending basic blocks code |
InstructionHandle |
getCodeStart()
Returns the first instruction of the sequence |
InstructionHandle |
getCurrent()
Returns the (current) last instruction of the sequence |
void |
jumpToBasicBlock(at.dms.backend.BasicBlock block)
Adds a basic block and a jump instruction as needed |
void |
plantBasicBlock(at.dms.backend.BasicBlock block)
Adds a basic block at the end of the sequence |
void |
plantBasicBlock(at.dms.backend.BasicBlock block,
int max)
Adds a basic block at the end of the sequence |
void |
plantBasicBlock(at.dms.backend.BasicBlock block,
JumpInstruction jump,
at.dms.backend.QQuadruple[] transition)
Adds a basic block at the end of the sequence |
void |
plantInstruction(Instruction insn)
Adds an instruction at the end of the sequence |
void |
plantInstruction(InstructionHandle handle)
Adds an instruction at the end of the sequence |
void |
plantQuadruple(at.dms.backend.QNode node)
Adds a quadruple at the end of the sequence |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CodeSequence()
| Method Detail |
|---|
public InstructionHandle getCodeStart()
public InstructionHandle getCurrent()
public void plantInstruction(InstructionHandle handle)
handle - an instruction handlepublic void plantInstruction(Instruction insn)
insn - the instructionpublic void plantQuadruple(at.dms.backend.QNode node)
node - the node of the quadruplepublic void jumpToBasicBlock(at.dms.backend.BasicBlock block)
block - the destination (BasicBlock)public void plantBasicBlock(at.dms.backend.BasicBlock block)
block - the destination (BasicBlock)
public void plantBasicBlock(at.dms.backend.BasicBlock block,
JumpInstruction jump,
at.dms.backend.QQuadruple[] transition)
block - the destination (BasicBlock)jump - the jump instruction to this blocktransition - the quadruple MOVE instructions
public void plantBasicBlock(at.dms.backend.BasicBlock block,
int max)
block - the destination (BasicBlock)max - the maximum position of this block on the original source
this is made to avoid locality problemspublic void close()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||