public class InlinerInfo
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private Variable |
argsArray |
private java.util.Map<BasicBlock,BasicBlock> |
bbRenameMap |
private CallBase |
call |
private Operand[] |
callArgs |
private CFG |
callerCFG |
private Operand |
callReceiver |
private boolean |
canMapArgsStatically |
private IRClosure |
clonedClosure |
private static java.lang.Integer |
globalInlineCount |
private boolean |
inClosureCloneMode |
private boolean |
inClosureInlineMode |
private java.lang.String |
inlineVarPrefix |
private java.util.Map<Label,Label> |
lblRenameMap |
private java.util.Map<Variable,Variable> |
varRenameMap |
private Operand |
yieldArg |
private Variable |
yieldResult |
private java.util.List |
yieldSites |
| Constructor and Description |
|---|
InlinerInfo() |
InlinerInfo(CallBase call,
CFG c) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canMapArgsStatically() |
InlinerInfo |
cloneForCloningClosure(IRClosure clonedClosure) |
InlinerInfo |
cloneForInliningClosure() |
private static boolean |
containsSplat(Operand[] args) |
Operand |
getArg(int index) |
Operand |
getArg(int argIndex,
boolean restOfArgArray) |
Operand |
getArgs() |
int |
getArgsCount() |
Operand |
getCallClosure() |
Variable |
getCallResultVariable() |
IRClosure |
getClonedClosure() |
IRScope |
getInlineHostScope()
Returns the scope into which code is being inlined.
|
IRScope |
getNewLexicalParentForClosure() |
BasicBlock |
getOrCreateRenamedBB(BasicBlock bb) |
BasicBlock |
getRenamedBB(BasicBlock bb) |
Label |
getRenamedLabel(Label l) |
Variable |
getRenamedVariable(Variable v) |
Operand |
getSelfValue(Self self) |
Variable |
getYieldResult() |
java.util.List |
getYieldSites() |
void |
recordYieldSite(BasicBlock bb,
YieldInstr i) |
void |
setupYieldArgsAndYieldResult(YieldInstr yi,
BasicBlock yieldBB,
Arity blockArity) |
private static java.lang.Integer globalInlineCount
private CFG callerCFG
private CallBase call
private Operand[] callArgs
private boolean canMapArgsStatically
private Variable argsArray
private java.util.Map<BasicBlock,BasicBlock> bbRenameMap
private java.util.List yieldSites
private Operand callReceiver
private java.lang.String inlineVarPrefix
private Operand yieldArg
private Variable yieldResult
private boolean inClosureInlineMode
private boolean inClosureCloneMode
private IRClosure clonedClosure
private static boolean containsSplat(Operand[] args)
public InlinerInfo cloneForInliningClosure()
public InlinerInfo cloneForCloningClosure(IRClosure clonedClosure)
public IRScope getInlineHostScope()
public IRScope getNewLexicalParentForClosure()
public void setupYieldArgsAndYieldResult(YieldInstr yi, BasicBlock yieldBB, Arity blockArity)
public BasicBlock getRenamedBB(BasicBlock bb)
public BasicBlock getOrCreateRenamedBB(BasicBlock bb)
public boolean canMapArgsStatically()
public Operand getArgs()
public int getArgsCount()
public Operand getArg(int index)
public Operand getArg(int argIndex, boolean restOfArgArray)
public Operand getCallClosure()
public IRClosure getClonedClosure()
public Variable getCallResultVariable()
public void recordYieldSite(BasicBlock bb, YieldInstr i)
public java.util.List getYieldSites()
public Variable getYieldResult()