Package org.jruby.ir.instructions
Class RuntimeHelperCall
java.lang.Object
org.jruby.ir.instructions.Instr
org.jruby.ir.instructions.ResultBaseInstr
org.jruby.ir.instructions.NOperandResultBaseInstr
org.jruby.ir.instructions.RuntimeHelperCall
- All Implemented Interfaces:
ResultInstr
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class org.jruby.ir.instructions.ResultBaseInstr
result
Fields inherited from class org.jruby.ir.instructions.Instr
EMPTY_OPERANDS
-
Constructor Summary
ConstructorsConstructorDescriptionRuntimeHelperCall
(Variable result, RuntimeHelperCall.Methods helperMethod, Operand[] args) -
Method Summary
Modifier and TypeMethodDescriptioncallHelper
(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) 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, EnumSet<IRFlags> flags) Does this instruction do anything the scope is interested in?static RuntimeHelperCall
void
Operand[]
getArgs()
String[]
void
Methods inherited from class org.jruby.ir.instructions.NOperandResultBaseInstr
getOperands, setOperand
Methods inherited from class org.jruby.ir.instructions.ResultBaseInstr
getResult, updateResult
Methods inherited from class org.jruby.ir.instructions.Instr
canBeDeletedFromScope, canRaiseException, cloneOperands, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpret, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyInstr, simplifyOperands, simplifyOperands, toString, transfersControl
-
Constructor Details
-
RuntimeHelperCall
-
-
Method Details
-
getArgs
-
getHelperMethod
-
computeScopeFlags
Does this instruction do anything the scope is interested in?- Overrides:
computeScopeFlags
in classInstr
- Parameters:
flags
- to be updated- Returns:
- true if it modified the scope.
-
clone
Description copied from class:Instr
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). This might renaming variables and labels to eliminate naming conflicts. The implementation might vary on the cloning mode. -
encode
- Overrides:
encode
in classResultBaseInstr
-
decode
-
toStringNonOperandArgs
- Overrides:
toStringNonOperandArgs
in classInstr
-
callHelper
public Object callHelper(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) -
visit
-