public class SetReturnAddressInstr extends Instr implements ResultInstr
EMPTY_OPERANDS| Constructor and Description |
|---|
SetReturnAddressInstr(Variable result,
Label l) |
| Modifier and Type | Method and Description |
|---|---|
Instr |
cloneForBlockCloning(InlinerInfo ii)
Clone the instruction so it can be used in a cloned block which is present in a scope that itself
or an ancestor scope (in the case of nested blocks) is being inlined.
|
Instr |
cloneForInlinedScope(InlinerInfo ii)
Clone the instruction (present in a method/closure) so it can be inlined into another scope.
|
Operand[] |
getOperands() |
Variable |
getResult() |
Label |
getReturnAddr() |
Object |
interpret(ThreadContext context,
DynamicScope currDynScope,
IRubyObject self,
Object[] temp,
Block block) |
void |
simplifyOperands(Map<Operand,Operand> valueMap,
boolean force)
This method takes as input a map of operands to their values, and outputs
If the value map provides a value for any of the instruction's operands
this method is expected to replace the original operands with the simplified values.
|
String |
toString() |
void |
updateResult(Variable v) |
void |
visit(IRVisitor visitor) |
canBeDeleted, canRaiseException, cloneForInlinedClosure, cloneForInlining, getOperation, getUsedVariables, hasSideEffects, hasUnusedResult, interpretAndGetNewIPC, isDead, markDead, markUnusedResult, renameVars, simplifyAndGetResult, transfersControlpublic Variable getResult()
getResult in interface ResultInstrpublic void updateResult(Variable v)
updateResult in interface ResultInstrpublic Label getReturnAddr()
public Operand[] getOperands()
getOperands in class Instrpublic void simplifyOperands(Map<Operand,Operand> valueMap, boolean force)
InstrsimplifyOperands in class Instrpublic Instr cloneForInlinedScope(InlinerInfo ii)
InstrcloneForInlinedScope in class Instrpublic Instr cloneForBlockCloning(InlinerInfo ii)
InstrcloneForBlockCloning in class Instrpublic Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block)
Copyright © 2001–2024 JRuby. All rights reserved.