| Modifier and Type | Field and Description |
|---|---|
| private final IRClosure | |
| private final Variable |
| Access | Constructor and Description |
|---|---|
| public |
| 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 boolean | canCopyPropagate()
Overrides org. Can we replace every use of a variable 'v' that contains the value of this operand with the operand itself? |
| public Operand | |
| public static WrappedIRClosure | |
| public void | |
| public IRClosure | |
| public OperandType | |
| public Variable | |
| public Operand | getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force)
Overrides org.
|
| public Object | retrieve(ThreadContext context, IRubyObject self, StaticScope currScope, DynamicScope currDynScope, Object[] temp)
Overrides org.
|
| public String | |
| public void |
| closure | back to summary |
|---|---|
| private final IRClosure closure | |
| self | back to summary |
|---|---|
| private final Variable self | |
| WrappedIRClosure | back to summary |
|---|---|
| public WrappedIRClosure(Variable self, IRClosure closure) | |
| 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.
| |
| canCopyPropagate | back to summary |
|---|---|
| public boolean canCopyPropagate() Overrides org. Doc from org. Can we replace every use of a variable 'v' that contains the value of this operand with the operand itself? This takes importance when there are at least two uses of 'v' within this scope. Ex: v = [1,2,3]; x = v; y = v In this case, we cannot replace the occurrences of 'v' because we would then get x = [1,2,3]; y = [1,2,3] which would then result in two different array objects being constructed instead of a single one.
| |
| cloneForInlining | back to summary |
|---|---|
| public Operand cloneForInlining(CloneInfo info) Implements abstract org.
| |
| decode | back to summary |
|---|---|
| public static WrappedIRClosure decode(IRReaderDecoder d) | |
| encode | back to summary |
|---|---|
| public void encode(IRWriterEncoder e) Overrides org.
| |
| getClosure | back to summary |
|---|---|
| public IRClosure getClosure() | |
| getOperandType | back to summary |
|---|---|
| public OperandType getOperandType() Implements abstract org.
| |
| getSelf | back to summary |
|---|---|
| public Variable getSelf() | |
| getSimplifiedOperand | back to summary |
|---|---|
| public Operand getSimplifiedOperand(Map<Operand, Operand> valueMap, boolean force) Overrides org.
| |
| retrieve | back to summary |
|---|---|
| public Object retrieve(ThreadContext context, IRubyObject self, StaticScope currScope, DynamicScope currDynScope, Object[] temp) Overrides org.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non- | |
| visit | back to summary |
|---|---|
| public void visit(IRVisitor visitor) Overrides org.
| |