Class LiveVariableAnalysis

java.lang.Object
org.jruby.ir.passes.CompilerPass
org.jruby.ir.passes.LiveVariableAnalysis

public class LiveVariableAnalysis extends CompilerPass
  • Constructor Details

    • LiveVariableAnalysis

      public LiveVariableAnalysis()
  • Method Details

    • getDependencies

      public List<Class<? extends CompilerPass>> getDependencies()
      Overrides:
      getDependencies in class CompilerPass
    • getLabel

      public String getLabel()
      Description copied from class: CompilerPass
      What is the user-friendly name of this compiler pass
      Specified by:
      getLabel in class CompilerPass
    • previouslyRun

      public Object previouslyRun(FullInterpreterContext fic)
      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 class CompilerPass
      Returns:
      data or null if it needs to be run
    • execute

      public Object execute(FullInterpreterContext fic, Object... data)
      Description copied from class: CompilerPass
      Meat of an individual pass. run will call this after dependency resolution.
      Specified by:
      execute in class CompilerPass
      Parameters:
      fic - is the FullInterpreterContext to run this pass on
      data - is the data supplied to this pass to use to execute the pass
    • invalidate

      public boolean invalidate(FullInterpreterContext fic)
      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 class CompilerPass
      Parameters:
      fic - is where the pass stores its data.
      Returns:
      true if invalidation succeeded, false otherwise.