public class RuntimeHelperCall extends ResultBaseInstr
Modifier and Type | Class and Description |
---|---|
static class |
RuntimeHelperCall.Methods |
result
EMPTY_OPERANDS, operands
Constructor and Description |
---|
RuntimeHelperCall(Variable result,
RuntimeHelperCall.Methods helperMethod,
Operand[] args) |
Modifier and Type | Method and Description |
---|---|
IRubyObject |
callHelper(ThreadContext context,
StaticScope currScope,
DynamicScope currDynScope,
IRubyObject self,
Object[] temp,
Block.Type blockType) |
Instr |
clone(CloneInfo 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).
|
boolean |
computeScopeFlags(IRScope scope)
Does this instruction do anything the scope is interested in?
|
static RuntimeHelperCall |
decode(IRReaderDecoder d) |
void |
encode(IRWriterEncoder e) |
Operand[] |
getArgs() |
RuntimeHelperCall.Methods |
getHelperMethod() |
String[] |
toStringNonOperandArgs() |
void |
visit(IRVisitor visitor) |
getResult, updateResult
canBeDeleted, canRaiseException, cloneOperands, getIPC, getOperands, getOperation, getRPC, getUsedVariables, hasSideEffects, interpret, interpretAndGetNewIPC, isDead, markDead, renameVars, setIPC, setRPC, simplifyAndGetResult, simplifyOperands, toString, transfersControl
public RuntimeHelperCall(Variable result, RuntimeHelperCall.Methods helperMethod, Operand[] args)
public Operand[] getArgs()
public RuntimeHelperCall.Methods getHelperMethod()
public boolean computeScopeFlags(IRScope scope)
computeScopeFlags
in class Instr
scope
- to be updatedpublic Instr clone(CloneInfo ii)
Instr
public void encode(IRWriterEncoder e)
encode
in class ResultBaseInstr
public static RuntimeHelperCall decode(IRReaderDecoder d)
public String[] toStringNonOperandArgs()
toStringNonOperandArgs
in class Instr
public IRubyObject callHelper(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block.Type blockType)
Copyright © 2001-2015 JRuby. All Rights Reserved.