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
resultFields 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).booleancomputeScopeFlags(IRScope scope, EnumSet<IRFlags> flags) Does this instruction do anything the scope is interested in?static RuntimeHelperCallvoidOperand[]getArgs()String[]voidMethods inherited from class org.jruby.ir.instructions.NOperandResultBaseInstr
getOperands, setOperandMethods inherited from class org.jruby.ir.instructions.ResultBaseInstr
getResult, updateResultMethods 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:
computeScopeFlagsin classInstr- Parameters:
flags- to be updated- Returns:
- true if it modified the scope.
-
clone
Description copied from class:InstrClone 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:
encodein classResultBaseInstr
-
decode
-
toStringNonOperandArgs
- Overrides:
toStringNonOperandArgsin classInstr
-
callHelper
public Object callHelper(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) -
visit
-