public class ConstMissingInstr extends CallInstr implements ResultInstr
arguments, callSite, callSiteId, closure, methAddr, profile, receiver
EMPTY_OPERANDS
Constructor and Description |
---|
ConstMissingInstr(Variable result,
Operand currentModule,
String missingConst) |
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).
|
String |
getMissingConst() |
Operand[] |
getOperands() |
Variable |
getResult() |
Object |
interpret(ThreadContext context,
DynamicScope currDynScope,
IRubyObject self,
Object[] temp,
Block block) |
void |
simplifyOperands(Map<Operand,Operand> valueMap,
boolean force)
This method takes as input a map of operands to their values, and outputs
If the value map provides a value for any of the instruction's operands
this method is expected to replace the original operands with the simplified values.
|
String |
toString() |
void |
updateResult(Variable v) |
void |
visit(IRVisitor visitor) |
create, create, discardResult, specializeForInterpretation
blockInlining, canBeEval, canModifyCode, canSetDollarVars, cloneCallArgs, containsSplat, getCallArgs, getCallSite, getCallType, getClosureArg, getMethodAddr, getReceiver, hasClosure, inliningBlocked, isAllConstants, isAllFixnums, isRubyInternalsCall, isStaticCallTarget, prepareArguments, prepareArgumentsComplex, prepareArgumentsSimple, prepareBlock, targetRequiresCallersBinding
canBeDeleted, canRaiseException, cloneForBlockCloning, cloneForInlinedClosure, cloneForInlinedScope, getOperation, getUsedVariables, hasSideEffects, hasUnusedResult, interpretAndGetNewIPC, isDead, markDead, markUnusedResult, renameVars, simplifyAndGetResult, transfersControl
public String getMissingConst()
public Operand[] getOperands()
getOperands
in class CallBase
public void simplifyOperands(Map<Operand,Operand> valueMap, boolean force)
Instr
simplifyOperands
in class CallBase
public Variable getResult()
getResult
in interface ResultInstr
getResult
in class CallInstr
public void updateResult(Variable v)
updateResult
in interface ResultInstr
updateResult
in class CallInstr
public Instr cloneForInlining(InlinerInfo ii)
Instr
cloneForInlining
in class CallInstr
ii
- This object manages renaming of variables and labels, handles
args and return values.public Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block)
Copyright © 2001-2014 JRuby. All Rights Reserved.