Class InlineCloneInfo

java.lang.Object
org.jruby.ir.transformations.inlining.CloneInfo
org.jruby.ir.transformations.inlining.InlineCloneInfo

public class InlineCloneInfo extends CloneInfo
Context object when performing an inline.
  • Constructor Details

  • Method Details

    • isClosure

      public boolean isClosure()
    • cloneForInliningClosure

      public InlineCloneInfo cloneForInliningClosure(IRScope scopeBeingInlined)
    • getArg

      public Operand getArg(int index)
    • getArg

      public Operand getArg(int argIndex, boolean restOfArgArray)
    • canMapArgsStatically

      public boolean canMapArgsStatically()
    • getArgs

      public Operand getArgs()
    • getRenamedBB

      public BasicBlock getRenamedBB(BasicBlock bb)
    • getArgsCount

      public int getArgsCount()
    • getCallClosure

      public Operand getCallClosure()
    • getCallResultVariable

      public Variable getCallResultVariable()
    • getOrCreateRenamedBB

      public BasicBlock getOrCreateRenamedBB(BasicBlock bb)
    • getHostScope

      public IRScope getHostScope()
    • getRenamedLabelSimple

      protected Label getRenamedLabelSimple(Label l)
      Specified by:
      getRenamedLabelSimple in class CloneInfo
    • getRenamedSelfVariable

      public Variable getRenamedSelfVariable(Variable self)
      Description copied from class: CloneInfo
      How do we rename %self?
      Specified by:
      getRenamedSelfVariable in class CloneInfo
      Parameters:
      self - to be renamed
      Returns:
      the new self or itself
    • getRenamedVariableSimple

      protected Variable getRenamedVariableSimple(Variable v)
      Description copied from class: CloneInfo
      How are typical variables renamed if they were not yet found in the variable renaming map?
      Specified by:
      getRenamedVariableSimple in class CloneInfo
      Parameters:
      v - to be renamed
      Returns:
      the new variable
    • getScopeBeingInlined

      public IRScope getScopeBeingInlined()
    • getYieldResult

      public Variable getYieldResult()
    • getYieldSites

      public List<Tuple<BasicBlock,YieldInstr>> getYieldSites()
    • recordYieldSite

      public void recordYieldSite(BasicBlock bb, YieldInstr i)
    • setupYieldArgsAndYieldResult

      public void setupYieldArgsAndYieldResult(YieldInstr yi, BasicBlock yieldBB, int blockArityValue)