public class ConstMissingInstr extends CallInstr implements ResultInstr
arguments, callSite, callSiteId, closure, methAddr, profile, receiverEMPTY_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, specializeForInterpretationblockInlining, canBeEval, canModifyCode, canSetDollarVars, cloneCallArgs, containsSplat, getCallArgs, getCallSite, getCallType, getClosureArg, getMethodAddr, getReceiver, hasClosure, inliningBlocked, isAllConstants, isAllFixnums, isRubyInternalsCall, isStaticCallTarget, prepareArguments, prepareArgumentsComplex, prepareArgumentsSimple, prepareBlock, targetRequiresCallersBindingcanBeDeleted, canRaiseException, cloneForBlockCloning, cloneForInlinedClosure, cloneForInlinedScope, getOperation, getUsedVariables, hasSideEffects, hasUnusedResult, interpretAndGetNewIPC, isDead, markDead, markUnusedResult, renameVars, simplifyAndGetResult, transfersControlpublic String getMissingConst()
public Operand[] getOperands()
getOperands in class CallBasepublic void simplifyOperands(Map<Operand,Operand> valueMap, boolean force)
InstrsimplifyOperands in class CallBasepublic Variable getResult()
getResult in interface ResultInstrgetResult in class CallInstrpublic void updateResult(Variable v)
updateResult in interface ResultInstrupdateResult in class CallInstrpublic Instr cloneForInlining(InlinerInfo ii)
InstrcloneForInlining in class CallInstrii - 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–2024 JRuby. All rights reserved.