Package org.jruby.ir.passes
Class DominatorTreeBuilder
java.lang.Object
org.jruby.ir.passes.CompilerPass
org.jruby.ir.passes.DominatorTreeBuilder
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
buildDominatorTree
(CFG cfg, LinkedList<BasicBlock> postOrderList, int maxNodeId) execute
(FullInterpreterContext fic, Object... data) Meat of an individual pass.getLabel()
What is the user-friendly name of this compiler passboolean
The data that this pass is responsible for will get invalidated so that if this pass is then executed it will generate new pass data.Methods inherited from class org.jruby.ir.passes.CompilerPass
createPassInstance, createPassInstance, equals, getDependencies, getPassesFromString, getShortLabel, hashCode, previouslyRun, run, run, run
-
Constructor Details
-
DominatorTreeBuilder
public DominatorTreeBuilder()
-
-
Method Details
-
getLabel
Description copied from class:CompilerPass
What is the user-friendly name of this compiler pass- Specified by:
getLabel
in classCompilerPass
-
execute
Description copied from class:CompilerPass
Meat of an individual pass. run will call this after dependency resolution.- Specified by:
execute
in classCompilerPass
- Parameters:
fic
- is the FullInterpreterContext to run this pass ondata
- is the data supplied to this pass to use to execute the pass
-
invalidate
Description copied from class:CompilerPass
The data that this pass is responsible for will get invalidated so that if this pass is then executed it will generate new pass data. Note that some data will destructively manipulate dependent compiler pass data. In that case, the pass may wipe more than just it's data. In that case, an execute() should still rebuild everything fine because all compiler passes list their dependencies.- Overrides:
invalidate
in classCompilerPass
- Parameters:
fic
- is where the pass stores its data.- Returns:
- true if invalidation succeeded, false otherwise.
-
buildDominatorTree
-