Package org.jruby.ir.passes
Class LiveVariableAnalysis
java.lang.Object
org.jruby.ir.passes.CompilerPass
org.jruby.ir.passes.LiveVariableAnalysis
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexecute
(FullInterpreterContext fic, Object... data) Meat of an individual pass.List
<Class<? extends CompilerPass>> 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.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
-
Constructor Details
-
LiveVariableAnalysis
public LiveVariableAnalysis()
-
-
Method Details
-
getDependencies
- Overrides:
getDependencies
in classCompilerPass
-
getLabel
Description copied from class:CompilerPass
What is the user-friendly name of this compiler pass- Specified by:
getLabel
in classCompilerPass
-
previouslyRun
Description copied from class:CompilerPass
If this pass has been previous run, then return the data from that last run. Specific scopes can override this behavior.- Overrides:
previouslyRun
in classCompilerPass
- Returns:
- data or null if it needs to be run
-
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.
-