Class InlineCloneInfo
java.lang.Object
org.jruby.ir.transformations.inlining.CloneInfo
org.jruby.ir.transformations.inlining.InlineCloneInfo
Context object when performing an inline.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Variableprivate final Map<BasicBlock,BasicBlock> private CallBaseprivate Operand[]private Variableprivate booleanprivate static final AtomicIntegerprivate final CFGprivate ByteListprivate final booleanprivate final IRScopeprivate Operandprivate Variableprivate final ListFields inherited from class org.jruby.ir.transformations.inlining.CloneInfo
labelRenameMap, scope, variableRenameMap -
Constructor Summary
ConstructorsConstructorDescriptionInlineCloneInfo(CallBase call, CFG c, Variable callReceiver, IRScope scopeBeingInlined) InlineCloneInfo(CFG cfg, IRScope scope, IRScope scopeBeingInlined) -
Method Summary
Modifier and TypeMethodDescriptionbooleancloneForInliningClosure(IRScope scopeBeingInlined) private static booleancontainsSplat(Operand[] args) getArg(int index) getArg(int argIndex, boolean restOfArgArray) getArgs()intprotected LabelHow do we rename %self?protected VariableHow are typical variables renamed if they were not yet found in the variable renaming map?booleanvoidrecordYieldSite(BasicBlock bb, YieldInstr i) voidsetupYieldArgsAndYieldResult(YieldInstr yi, BasicBlock yieldBB, int blockArityValue) Methods inherited from class org.jruby.ir.transformations.inlining.CloneInfo
cloneForCloningClosure, getRenamedLabel, getRenamedVariable, getScope
-
Field Details
-
globalInlineCount
-
hostCFG
-
inlineVarPrefix
-
callReceiver
-
call
-
callArgs
-
argsArray
-
canMapArgsStatically
private boolean canMapArgsStatically -
bbRenameMap
-
isClosure
private final boolean isClosure -
yieldArg
-
yieldResult
-
yieldSites
-
scopeBeingInlined
-
-
Constructor Details
-
InlineCloneInfo
-
InlineCloneInfo
-
-
Method Details
-
isClosure
public boolean isClosure() -
cloneForInliningClosure
-
getArg
-
getArg
-
canMapArgsStatically
public boolean canMapArgsStatically() -
getArgs
-
getRenamedBB
-
getArgsCount
public int getArgsCount() -
getCallClosure
-
getCallResultVariable
-
getOrCreateRenamedBB
-
getHostScope
-
getRenamedLabelSimple
- Specified by:
getRenamedLabelSimplein classCloneInfo
-
getRenamedSelfVariable
Description copied from class:CloneInfoHow do we rename %self?- Specified by:
getRenamedSelfVariablein classCloneInfo- Parameters:
self- to be renamed- Returns:
- the new self or itself
-
getRenamedVariableSimple
Description copied from class:CloneInfoHow are typical variables renamed if they were not yet found in the variable renaming map?- Specified by:
getRenamedVariableSimplein classCloneInfo- Parameters:
v- to be renamed- Returns:
- the new variable
-
getScopeBeingInlined
-
getYieldResult
-
getYieldSites
-
recordYieldSite
-
setupYieldArgsAndYieldResult
-
containsSplat
-