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,
java.lang.Object[] temp,
int ipc) |
java.lang.String[] |
toStringNonOperandArgs() |
void |
visit(IRVisitor visitor) |
getOperand1, getOperand2, getOperands, setOperand, setOperand1, setOperand2
canBeDeletedFromScope, canRaiseException, cloneOperands, computeScopeFlags, dumpableFields, encode, getOperation, getUsedVariables, hasSideEffects, interpret, isDead, isDeletable, markDead, renameVars, 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 java.lang.String[] toStringNonOperandArgs()
toStringNonOperandArgs
in class Instr
public Instr clone(CloneInfo ii)
Instr
public int interpretAndGetNewIPC(ThreadContext context, DynamicScope currDynScope, StaticScope currScope, IRubyObject self, java.lang.Object[] temp, int ipc)
interpretAndGetNewIPC
in class Instr
Copyright © 2001-2019 JRuby. All Rights Reserved.