public class ModuleVersionGuardInstr extends Instr implements FixedArityInstr
EMPTY_OPERANDS, operands
Constructor and Description |
---|
ModuleVersionGuardInstr(RubyModule module,
int expectedVersion,
Operand candidateObj,
Label failurePathLabel) |
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).
|
Operand |
getCandidateObject()
The object whose metaclass token has to be verified
|
int |
getExpectedVersion() |
Label |
getFailurePathLabel()
Where to jump if the version assumption fails?
|
RubyModule |
getModule() |
int |
interpretAndGetNewIPC(ThreadContext context,
DynamicScope currDynScope,
StaticScope currScope,
IRubyObject self,
Object[] temp,
int ipc) |
String[] |
toStringNonOperandArgs() |
void |
visit(IRVisitor visitor) |
canBeDeleted, canRaiseException, cloneOperands, computeScopeFlags, encode, getIPC, getOperands, getOperation, getRPC, getUsedVariables, hasSideEffects, interpret, isDead, markDead, renameVars, setIPC, setRPC, simplifyAndGetResult, simplifyOperands, toString, transfersControl
public ModuleVersionGuardInstr(RubyModule module, int expectedVersion, Operand candidateObj, Label failurePathLabel)
public Operand getCandidateObject()
public Label getFailurePathLabel()
public RubyModule getModule()
public int getExpectedVersion()
public String[] toStringNonOperandArgs()
toStringNonOperandArgs
in class Instr
public Instr clone(CloneInfo ii)
Instr
public int interpretAndGetNewIPC(ThreadContext context, DynamicScope currDynScope, StaticScope currScope, IRubyObject self, Object[] temp, int ipc)
interpretAndGetNewIPC
in class Instr
Copyright © 2001-2015 JRuby. All Rights Reserved.