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 |
toString() |
void |
visit(IRVisitor visitor) |
canBeDeleted, canRaiseException, cloneOperands, computeScopeFlags, getIPC, getOperands, getOperation, getRPC, getUsedVariables, hasSideEffects, interpret, isDead, markDead, renameVars, setIPC, setRPC, simplifyAndGetResult, simplifyOperands, transfersControlpublic ModuleVersionGuardInstr(RubyModule module, int expectedVersion, Operand candidateObj, Label failurePathLabel)
public Operand getCandidateObject()
public Label getFailurePathLabel()
public RubyModule getModule()
public int getExpectedVersion()
public Instr clone(CloneInfo ii)
Instrpublic int interpretAndGetNewIPC(ThreadContext context, DynamicScope currDynScope, StaticScope currScope, IRubyObject self, Object[] temp, int ipc)
interpretAndGetNewIPC in class InstrCopyright © 2001-2015 JRuby. All Rights Reserved.