public class ArrayDerefInstr extends OneOperandArgNoBlockCallInstr
argsCount, callSite, callSiteId, hasClosure, name
operands
EMPTY_OPERANDS
Constructor and Description |
---|
ArrayDerefInstr(Variable result,
Operand obj,
FrozenString arg0) |
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).
|
boolean |
computeScopeFlags(IRScope scope)
Does this instruction do anything the scope is interested in?
|
static ArrayDerefInstr |
create(Variable result,
Operand obj,
FrozenString arg0) |
static ArrayDerefInstr |
decode(IRReaderDecoder d) |
void |
encode(IRWriterEncoder e) |
FrozenString |
getKey() |
Object |
interpret(ThreadContext context,
StaticScope currScope,
DynamicScope dynamicScope,
IRubyObject self,
Object[] temp) |
void |
visit(IRVisitor visitor) |
create, create, discardResult, getResult, updateResult
blockInlining, canBeEval, cloneCallArgs, containsArgSplat, containsArgSplat, getArg1, getArgsCount, getCallArgs, getCallSite, getCallType, getClosureArg, getClosureArg, getName, getReceiver, hasLiteralClosure, inliningBlocked, isAllFixnums, isAllFloats, isPotentiallyRefined, prepareArguments, prepareArgumentsComplex, prepareArgumentsSimple, prepareBlock, setProcNew, simplifyOperands, targetRequiresCallersBinding, targetRequiresCallersFrame, toStringNonOperandArgs
getOperands, setOperand
canBeDeletedFromScope, canRaiseException, cloneOperands, dumpableFields, getIPC, getOperation, getRPC, getUsedVariables, hasSideEffects, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, setIPC, setRPC, simplifyAndGetResult, toString, transfersControl
public ArrayDerefInstr(Variable result, Operand obj, FrozenString arg0)
public static ArrayDerefInstr create(Variable result, Operand obj, FrozenString arg0)
public boolean computeScopeFlags(IRScope scope)
Instr
computeScopeFlags
in class CallBase
public Instr clone(CloneInfo ii)
Instr
clone
in class OneOperandArgNoBlockCallInstr
ii
- This object manages renaming of variables and labels, handles
args and return values.public void encode(IRWriterEncoder e)
public static ArrayDerefInstr decode(IRReaderDecoder d)
public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope dynamicScope, IRubyObject self, Object[] temp)
interpret
in class OneOperandArgNoBlockCallInstr
public void visit(IRVisitor visitor)
visit
in class OneOperandArgNoBlockCallInstr
public FrozenString getKey()
Copyright © 2001-2016 JRuby. All Rights Reserved.