public class RuntimeHelperCall extends Instr implements ResultInstr
EMPTY_OPERANDS
Constructor and Description |
---|
RuntimeHelperCall(Variable result,
String helperMethod,
Operand[] args) |
Modifier and Type | Method and Description |
---|---|
IRubyObject |
callHelper(ThreadContext context,
DynamicScope currDynScope,
IRubyObject self,
Object[] temp,
IRScope scope,
Block.Type blockType) |
Instr |
cloneForInlining(InlinerInfo 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[] |
getOperands() |
Variable |
getResult() |
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, cloneForBlockCloning, cloneForInlinedClosure, cloneForInlinedScope, getOperation, getUsedVariables, hasSideEffects, hasUnusedResult, interpret, interpretAndGetNewIPC, isDead, markDead, markUnusedResult, renameVars, simplifyAndGetResult, transfersControl
public Operand[] getOperands()
getOperands
in class Instr
public Variable getResult()
getResult
in interface ResultInstr
public void updateResult(Variable v)
updateResult
in interface ResultInstr
public void simplifyOperands(Map<Operand,Operand> valueMap, boolean force)
Instr
simplifyOperands
in class Instr
public Instr cloneForInlining(InlinerInfo ii)
Instr
cloneForInlining
in class Instr
ii
- This object manages renaming of variables and labels, handles
args and return values.public IRubyObject callHelper(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, IRScope scope, Block.Type blockType)
Copyright © 2001-2016 JRuby. All Rights Reserved.