Note
we store IRScope because JIT can easily store IRScopes vs making new JIT infrastructure for StaticScope (and from a scoping standpoint these two types are 1:1). However, once we inline we are migrating things referencing a currentscope which no longer exists. In this case, we need replace CurrentScope with a Scope.
| Modifier and Type | Field and Description |
|---|---|
| private final IRScope |
| Modifier and Type | Method and Description |
|---|---|
| public void | addUsedVariables(List<Variable> l)
Implements abstract org. Append the list of variables used in this operand to the input list -- force every operand to implement this because a missing implementation can cause bad failures. |
| public Operand | |
| public OperandType | |
| public IRScope | |
| public Object | retrieve(ThreadContext context, IRubyObject self, StaticScope currScope, DynamicScope currDynScope, Object[] temp)
Overrides org.
|
| public void |
| scope | back to summary |
|---|---|
| private final IRScope scope | |
| Scope | back to summary |
|---|---|
| public Scope(IRScope scope) | |
| addUsedVariables | back to summary |
|---|---|
| public void addUsedVariables(List<Variable> l) Implements abstract org. Doc from org. Append the list of variables used in this operand to the input list -- force every operand to implement this because a missing implementation can cause bad failures.
| |
| cloneForInlining | back to summary |
|---|---|
| public Operand cloneForInlining(CloneInfo ii) Implements abstract org.
| |
| getOperandType | back to summary |
|---|---|
| public OperandType getOperandType() Implements abstract org.
| |
| getScope | back to summary |
|---|---|
| public IRScope getScope() | |
| retrieve | back to summary |
|---|---|
| public Object retrieve(ThreadContext context, IRubyObject self, StaticScope currScope, DynamicScope currDynScope, Object[] temp) Overrides org.
| |
| visit | back to summary |
|---|---|
| public void visit(IRVisitor visitor) Overrides org.
| |