| Modifier and Type | Field and Description |
|---|---|
| private final int | |
| private final RubyModule |
| Access | Constructor and Description |
|---|---|
| public | ModuleVersionGuardInstr(RubyModule module, int expectedVersion, Operand candidateObj, Label failurePathLabel)
|
| Modifier and Type | Method and Description |
|---|---|
| public Instr | clone(CloneInfo
This object manages renaming of variables and labels, handles
args and return values. ii)Implements abstract org. 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). |
| public Operand | |
| public int | |
| public Label | |
| public RubyModule | |
| public int | interpretAndGetNewIPC(ThreadContext context, DynamicScope currDynScope, StaticScope currScope, IRubyObject self, Object[] temp, int ipc)
Overrides org.
|
| public String[] | |
| private boolean | versionMatches(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp)
|
| public void |
| expectedVersion | back to summary |
|---|---|
| private final int expectedVersion | |
| module | back to summary |
|---|---|
| private final RubyModule module | |
| ModuleVersionGuardInstr | back to summary |
|---|---|
| public ModuleVersionGuardInstr(RubyModule module, int expectedVersion, Operand candidateObj, Label failurePathLabel) | |
| clone | back to summary |
|---|---|
| public Instr clone(CloneInfo ii) Implements abstract org. Doc from org. 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). This might renaming variables and labels to eliminate naming conflicts. The implementation might vary on the cloning mode. | |
| getCandidateObject | back to summary |
|---|---|
| public Operand getCandidateObject() The object whose metaclass token has to be verified | |
| getExpectedVersion | back to summary |
|---|---|
| public int getExpectedVersion() | |
| getFailurePathLabel | back to summary |
|---|---|
| public Label getFailurePathLabel() Where to jump if the version assumption fails? | |
| getModule | back to summary |
|---|---|
| public RubyModule getModule() | |
| interpretAndGetNewIPC | back to summary |
|---|---|
| public int interpretAndGetNewIPC(ThreadContext context, DynamicScope currDynScope, StaticScope currScope, IRubyObject self, Object[] temp, int ipc) Overrides org.
| |
| toStringNonOperandArgs | back to summary |
|---|---|
| public String[] toStringNonOperandArgs() Overrides org.
| |
| versionMatches | back to summary |
|---|---|
| private boolean versionMatches(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) | |
| visit | back to summary |
|---|---|
| public void visit(IRVisitor visitor) Overrides org.
| |