Class Sequencer
java.lang.Object
de.mirkosertic.bytecoder.core.backend.sequencer.Sequencer
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StructuredControlflowCodeGeneratorprivate final DominatorTreeprivate final Graph(package private) int -
Constructor Summary
ConstructorsConstructorDescriptionSequencer(Graph g, DominatorTree dominatorTree, StructuredControlflowCodeGenerator codegenerator) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidgenerateGOTO(ControlTokenConsumer currentToken, ControlTokenConsumer target, Stack<Sequencer.Block> activeStack) private voidvisit(If node, Stack<Sequencer.Block> activeStack) private voidvisit(LookupSwitch node, Stack<Sequencer.Block> as) private voidvisit(Region node, Stack<Sequencer.Block> activeStack) private voidvisit(TableSwitch node, Stack<Sequencer.Block> as) private voidvisit(TryCatch node, Stack<Sequencer.Block> as) private voidvisitBranchingNodeTemplate(ControlTokenConsumer node, Stack<Sequencer.Block> activeStack, Consumer<Stack<Sequencer.Block>> nodeCallback) private voidvisitDominationTreeOf(ControlTokenConsumer startNode, Stack<Sequencer.Block> activeStack)
-
Field Details
-
dominatorTree
-
graph
-
codegenerator
-
tryCatchCounter
int tryCatchCounter
-
-
Constructor Details
-
Sequencer
public Sequencer(Graph g, DominatorTree dominatorTree, StructuredControlflowCodeGenerator codegenerator)
-
-
Method Details
-
visitDominationTreeOf
private void visitDominationTreeOf(ControlTokenConsumer startNode, Stack<Sequencer.Block> activeStack) -
generateGOTO
private void generateGOTO(ControlTokenConsumer currentToken, ControlTokenConsumer target, Stack<Sequencer.Block> activeStack) -
visitBranchingNodeTemplate
private void visitBranchingNodeTemplate(ControlTokenConsumer node, Stack<Sequencer.Block> activeStack, Consumer<Stack<Sequencer.Block>> nodeCallback) -
visit
-
visit
-
visit
-
visit
-
visit
-