Package org.jruby.ir.instructions
Class ReqdArgMultipleAsgnInstr
java.lang.Object
org.jruby.ir.instructions.Instr
org.jruby.ir.instructions.ResultBaseInstr
org.jruby.ir.instructions.OneOperandResultBaseInstr
org.jruby.ir.instructions.MultipleAsgnBase
org.jruby.ir.instructions.ReqdArgMultipleAsgnInstr
- All Implemented Interfaces:
FixedArityInstr,ResultInstr
-
Field Summary
FieldsFields inherited from class org.jruby.ir.instructions.MultipleAsgnBase
indexFields inherited from class org.jruby.ir.instructions.ResultBaseInstr
resultFields inherited from class org.jruby.ir.instructions.Instr
EMPTY_OPERANDS -
Constructor Summary
ConstructorsConstructorDescriptionReqdArgMultipleAsgnInstr(Variable result, Operand array, int index) ReqdArgMultipleAsgnInstr(Variable result, Operand array, int preArgsCount, int postArgsCount, int index) -
Method Summary
Modifier and TypeMethodDescriptionClone 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).static ReqdArgMultipleAsgnInstrvoidintintinterpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) simplifyAndGetResult(IRScope scope, Map<Operand, Operand> valueMap) This method takes as input a map of operands to their values, and outputs the result of this instruction.String[]voidMethods inherited from class org.jruby.ir.instructions.MultipleAsgnBase
getArray, getIndexMethods inherited from class org.jruby.ir.instructions.OneOperandResultBaseInstr
getOperand1, getOperands, setOperand, setOperand1Methods inherited from class org.jruby.ir.instructions.ResultBaseInstr
getResult, updateResultMethods inherited from class org.jruby.ir.instructions.Instr
canBeDeletedFromScope, canRaiseException, cloneOperands, computeScopeFlags, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyOperands, toString, transfersControl
-
Field Details
-
preArgsCount
private final int preArgsCount -
postArgsCount
private final int postArgsCount
-
-
Constructor Details
-
ReqdArgMultipleAsgnInstr
-
ReqdArgMultipleAsgnInstr
-
-
Method Details
-
getPreArgsCount
public int getPreArgsCount() -
getPostArgsCount
public int getPostArgsCount() -
toStringNonOperandArgs
- Overrides:
toStringNonOperandArgsin classInstr
-
simplifyAndGetResult
Description copied from class:InstrThis method takes as input a map of operands to their values, and outputs the result of this instruction. If the value map provides a value for any of the instruction's operands the expectation is that the operand will be replaced with the simplified value. It is not required that it do so -- code correctness is not compromised by failure to simplify.- Overrides:
simplifyAndGetResultin classInstr- Parameters:
scope- where this instr existsvalueMap- Mapping from operands to their simplified values- Returns:
- simplified result / output of this instruction
-
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
-
interpret
public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) -
visit
-