public class CallInstr extends CallBase implements ResultInstr
| Modifier and Type | Field and Description |
|---|---|
protected Variable |
result |
argsCount, callSite, callSiteCounter, callSiteId, hasClosure, name, procNewoperandsEMPTY_OPERANDS| Modifier | Constructor and Description |
|---|---|
|
CallInstr(IRScope scope,
CallType callType,
Variable result,
RubySymbol name,
Operand receiver,
Operand[] args,
Operand closure,
boolean potentiallyRefined) |
protected |
CallInstr(IRScope scope,
Operation op,
CallType callType,
Variable result,
RubySymbol name,
Operand receiver,
Operand[] args,
Operand closure,
boolean potentiallyRefined) |
protected |
CallInstr(IRScope scope,
Operation op,
CallType callType,
Variable result,
RubySymbol name,
Operand receiver,
Operand[] args,
Operand closure,
boolean potentiallyRefined,
CallSite callSite,
long callSiteId) |
| Modifier and Type | Method and Description |
|---|---|
Instr |
clone(CloneInfo ii)
Clone the instruction for use in an inlining context (either when a scope is inlined into
another scope, or when a block has to be cloned because its associated call belongs to
an inlined scope).
|
static CallInstr |
create(IRScope scope,
CallType callType,
Variable result,
RubySymbol name,
Operand receiver,
Operand[] args,
Operand closure) |
static CallInstr |
create(IRScope scope,
Variable result,
RubySymbol name,
Operand receiver,
Operand[] args,
Operand closure) |
static CallInstr |
createWithKwargs(IRScope scope,
CallType callType,
Variable result,
RubySymbol name,
Operand receiver,
Operand[] args,
Operand closure,
java.util.List<KeyValuePair<Operand,Operand>> kwargs) |
static CallInstr |
decode(IRReaderDecoder d) |
void |
encode(IRWriterEncoder e) |
Variable |
getResult() |
void |
updateResult(Variable v) |
void |
visit(IRVisitor visitor) |
blockInlining, canBeEval, cloneCallArgs, computeScopeFlags, containsArgSplat, getArg1, getArgsCount, getCallArgs, getCallSite, getCallSiteFor, getCallSiteId, getCallType, getClosureArg, getClosureArg, getId, getName, getReceiver, hasLiteralClosure, inliningBlocked, interpret, isAllFixnums, isAllFloats, isPotentiallyRefined, prepareArguments, prepareArgumentsComplex, prepareArgumentsSimple, prepareBlock, setCallSiteId, setProcNew, simplifyOperands, splatMap, targetRequiresCallersBinding, targetRequiresCallersFrame, toStringNonOperandArgsgetOperands, setOperandcanBeDeletedFromScope, canRaiseException, cloneOperands, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyAndGetResult, toString, transfersControlprotected transient Variable result
public CallInstr(IRScope scope, CallType callType, Variable result, RubySymbol name, Operand receiver, Operand[] args, Operand closure, boolean potentiallyRefined)
protected CallInstr(IRScope scope, Operation op, CallType callType, Variable result, RubySymbol name, Operand receiver, Operand[] args, Operand closure, boolean potentiallyRefined, CallSite callSite, long callSiteId)
public static CallInstr createWithKwargs(IRScope scope, CallType callType, Variable result, RubySymbol name, Operand receiver, Operand[] args, Operand closure, java.util.List<KeyValuePair<Operand,Operand>> kwargs)
public static CallInstr create(IRScope scope, Variable result, RubySymbol name, Operand receiver, Operand[] args, Operand closure)
public static CallInstr create(IRScope scope, CallType callType, Variable result, RubySymbol name, Operand receiver, Operand[] args, Operand closure)
public void encode(IRWriterEncoder e)
public static CallInstr decode(IRReaderDecoder d)
public Variable getResult()
getResult in interface ResultInstrgetResult in class CallBasepublic void updateResult(Variable v)
updateResult in interface ResultInstrpublic Instr clone(CloneInfo ii)
InstrCopyright © 2001-2020 JRuby. All Rights Reserved.