public class CallInstr extends CallBase implements ResultInstr
| Modifier and Type | Field and Description |
|---|---|
protected Variable |
result |
arguments, callSite, callSiteId, closure, methAddr, profile, receiverEMPTY_OPERANDS| Modifier | Constructor and Description |
|---|---|
|
CallInstr(CallType callType,
Variable result,
MethAddr methAddr,
Operand receiver,
Operand[] args,
Operand closure) |
|
CallInstr(Operation op,
CallInstr ordinary) |
protected |
CallInstr(Operation op,
CallType callType,
Variable result,
MethAddr methAddr,
Operand receiver,
Operand[] args,
Operand closure) |
| Modifier and Type | Method and Description |
|---|---|
Instr |
cloneForInlining(InlinerInfo 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(CallType callType,
Variable result,
MethAddr methAddr,
Operand receiver,
Operand[] args,
Operand closure) |
static CallInstr |
create(Variable result,
MethAddr methAddr,
Operand receiver,
Operand[] args,
Operand closure) |
Instr |
discardResult() |
Variable |
getResult() |
CallBase |
specializeForInterpretation()
Interpreter can ask the instruction if it knows how to make a more
efficient instruction for direct interpretation.
|
String |
toString() |
void |
updateResult(Variable v) |
void |
visit(IRVisitor visitor) |
blockInlining, canBeEval, canModifyCode, canSetDollarVars, cloneCallArgs, containsSplat, getCallArgs, getCallSite, getCallType, getClosureArg, getMethodAddr, getOperands, getReceiver, hasClosure, inliningBlocked, interpret, isAllConstants, isAllFixnums, isRubyInternalsCall, isStaticCallTarget, prepareArguments, prepareArgumentsComplex, prepareArgumentsSimple, prepareBlock, simplifyOperands, targetRequiresCallersBindingcanBeDeleted, canRaiseException, cloneForBlockCloning, cloneForInlinedClosure, cloneForInlinedScope, getOperation, getUsedVariables, hasSideEffects, hasUnusedResult, interpretAndGetNewIPC, isDead, markDead, markUnusedResult, renameVars, simplifyAndGetResult, transfersControlprotected Variable result
public CallInstr(CallType callType, Variable result, MethAddr methAddr, Operand receiver, Operand[] args, Operand closure)
protected CallInstr(Operation op, CallType callType, Variable result, MethAddr methAddr, Operand receiver, Operand[] args, Operand closure)
public static CallInstr create(Variable result, MethAddr methAddr, Operand receiver, Operand[] args, Operand closure)
public static CallInstr create(CallType callType, Variable result, MethAddr methAddr, Operand receiver, Operand[] args, Operand closure)
public Variable getResult()
getResult in interface ResultInstrpublic void updateResult(Variable v)
updateResult in interface ResultInstrpublic CallBase specializeForInterpretation()
CallBasespecializeForInterpretation in interface SpecializeablespecializeForInterpretation in class CallBasepublic Instr discardResult()
public Instr cloneForInlining(InlinerInfo ii)
InstrcloneForInlining in class Instrii - This object manages renaming of variables and labels, handles
args and return values.Copyright © 2001-2014 JRuby. All Rights Reserved.