public class ModuleVersionGuardInstr extends TwoOperandInstr implements FixedArityInstr
EMPTY_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)  | 
getOperand1, getOperand2, getOperands, setOperand, setOperand1, setOperand2canBeDeletedFromScope, canRaiseException, cloneOperands, computeScopeFlags, encode, getIPC, getOperation, getRPC, getUsedVariables, hasSideEffects, interpret, isDead, isDeletable, markDead, renameVars, setIPC, setRPC, simplifyAndGetResult, simplifyOperands, toString, transfersControlpublic 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 Instrpublic 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.