Class Sequencer
java.lang.Object
de.mirkosertic.bytecoder.core.backend.sequencer.Sequencer
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StructuredControlflowCodeGenerator
private final DominatorTree
private final Graph
(package private) int
-
Constructor Summary
ConstructorsConstructorDescriptionSequencer
(Graph g, DominatorTree dominatorTree, StructuredControlflowCodeGenerator codegenerator) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
generateGOTO
(ControlTokenConsumer currentToken, ControlTokenConsumer target, Stack<Sequencer.Block> activeStack) private void
visit
(If node, Stack<Sequencer.Block> activeStack) private void
visit
(LookupSwitch node, Stack<Sequencer.Block> as) private void
visit
(Region node, Stack<Sequencer.Block> activeStack) private void
visit
(TableSwitch node, Stack<Sequencer.Block> as) private void
visit
(TryCatch node, Stack<Sequencer.Block> as) private void
visitBranchingNodeTemplate
(ControlTokenConsumer node, Stack<Sequencer.Block> activeStack, Consumer<Stack<Sequencer.Block>> nodeCallback) private void
visitDominationTreeOf
(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
-