Package org.jruby.ir.passes
Class LiveVariableAnalysis
java.lang.Object
org.jruby.ir.passes.CompilerPass
org.jruby.ir.passes.LiveVariableAnalysis
-
Field Summary
FieldsFields inherited from class org.jruby.ir.passes.CompilerPass
LOG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcollectNonLocalDirtyVars(FullInterpreterContext fic, Set<LocalVariable> vars, int minDepth) execute(FullInterpreterContext fic, Object... data) Meat of an individual pass.List<Class<? extends CompilerPass>>getLabel()What is the user-friendly name of this compiler passbooleanThe data that this pass is responsible for will get invalidated so that if this pass is then executed it will generate new pass data.If this pass has been previous run, then return the data from that last run.Methods inherited from class org.jruby.ir.passes.CompilerPass
createPassInstance, createPassInstance, equals, getPassesFromString, getShortLabel, hashCode, run, run, run
-
Field Details
-
DEPENDENCIES
-
-
Constructor Details
-
LiveVariableAnalysis
public LiveVariableAnalysis()
-
-
Method Details
-
getDependencies
- Overrides:
getDependenciesin classCompilerPass
-
getLabel
Description copied from class:CompilerPassWhat is the user-friendly name of this compiler pass- Specified by:
getLabelin classCompilerPass
-
previouslyRun
Description copied from class:CompilerPassIf this pass has been previous run, then return the data from that last run. Specific scopes can override this behavior.- Overrides:
previouslyRunin classCompilerPass
-
collectNonLocalDirtyVars
private void collectNonLocalDirtyVars(FullInterpreterContext fic, Set<LocalVariable> vars, int minDepth) -
execute
Description copied from class:CompilerPassMeat of an individual pass. run will call this after dependency resolution.- Specified by:
executein 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:CompilerPassThe 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:
invalidatein classCompilerPass- Parameters:
fic- is where the pass stores its data.
-