|
||||||||||
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 instructionspublic 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 |