public class CallInstr extends CallBase implements ResultInstr
Modifier and Type | Field and Description |
---|---|
protected Variable |
result |
argsCount, callSite, callSiteCounter, callSiteId, hasClosure, name, procNew
operands
EMPTY_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, toStringNonOperandArgs
getOperands, setOperand
canBeDeletedFromScope, canRaiseException, cloneOperands, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyAndGetResult, toString, transfersControl
protected 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 ResultInstr
getResult
in class CallBase
public void updateResult(Variable v)
updateResult
in interface ResultInstr
public Instr clone(CloneInfo ii)
Instr
Copyright © 2001-2022 JRuby. All Rights Reserved.