Top Fields Constructors Methods
org.jruby.ir.passes

public Class AddLocalVarLoadStoreInstructions

extends CompilerPass
Class Inheritance
Imports
org.jruby.ir.dataflow.analyses.LoadLocalVarPlacementProblem, .StoreLocalVarPlacementProblem, org.jruby.ir.instructions.Instr, org.jruby.ir.interpreter.FullInterpreterContext, org.jruby.ir.operands.Operand, org.jruby.ir.representations.BasicBlock, java.util.Collections, .HashMap, .List, .Map

Field Summary

Modifier and TypeField and Description
public static final List<Class<? extends CompilerPass>>
Inherited from org.jruby.ir.passes.CompilerPass:
LOG

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object
execute(FullInterpreterContext
is the FullInterpreterContext to run this pass on
fic
,
Object...
is the data supplied to this pass to use to execute the pass
data
)

Implements abstract org.jruby.ir.passes.CompilerPass.execute.

Meat of an individual pass.

public List<Class<? extends CompilerPass>>
public String
getLabel()

Implements abstract org.jruby.ir.passes.CompilerPass.getLabel.

What is the user-friendly name of this compiler pass

public String
public boolean
invalidate(FullInterpreterContext
is where the pass stores its data.
fic
)

Overrides org.jruby.ir.passes.CompilerPass.invalidate.

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.

public Object
previouslyRun(FullInterpreterContext fic)

Overrides org.jruby.ir.passes.CompilerPass.previouslyRun.

If this pass has been previous run, then return the data from that last run.

Inherited from org.jruby.ir.passes.CompilerPass:
createPassInstancecreatePassInstanceequalsgetPassesFromStringhashCoderunrunrun

Field Detail

DEPENDENCIESback to summary
public static final List<Class<? extends CompilerPass>> DEPENDENCIES

Constructor Detail

AddLocalVarLoadStoreInstructionsback to summary
public AddLocalVarLoadStoreInstructions()

Method Detail

executeback to summary
public Object execute(FullInterpreterContext fic, Object... data)

Implements abstract org.jruby.ir.passes.CompilerPass.execute.

Doc from org.jruby.ir.passes.CompilerPass.execute.

Meat of an individual pass. run will call this after dependency resolution.

Parameters
fic:FullInterpreterContext

is the FullInterpreterContext to run this pass on

data:Object[]

is the data supplied to this pass to use to execute the pass

Annotations
@Override
getDependenciesback to summary
public List<Class<? extends CompilerPass>> getDependencies()

Overrides org.jruby.ir.passes.CompilerPass.getDependencies.

Annotations
@Override
getLabelback to summary
public String getLabel()

Implements abstract org.jruby.ir.passes.CompilerPass.getLabel.

Doc from org.jruby.ir.passes.CompilerPass.getLabel.

What is the user-friendly name of this compiler pass

Annotations
@Override
getShortLabelback to summary
public String getShortLabel()

Overrides org.jruby.ir.passes.CompilerPass.getShortLabel.

Doc from org.jruby.ir.passes.CompilerPass.getShortLabel.

Shorter label

Annotations
@Override
invalidateback to summary
public boolean invalidate(FullInterpreterContext fic)

Overrides org.jruby.ir.passes.CompilerPass.invalidate.

Doc from org.jruby.ir.passes.CompilerPass.invalidate.

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.

Parameters
fic:FullInterpreterContext

is where the pass stores its data.

Returns:boolean

true if invalidation succeeded, false otherwise.

Annotations
@Override
previouslyRunback to summary
public Object previouslyRun(FullInterpreterContext fic)

Overrides org.jruby.ir.passes.CompilerPass.previouslyRun.

Doc from org.jruby.ir.passes.CompilerPass.previouslyRun.

If this pass has been previous run, then return the data from that last run. Specific scopes can override this behavior.

Returns:Object

data or null if it needs to be run

Annotations
@Override