Package org.jruby.ir.instructions
Class YieldInstr
java.lang.Object
org.jruby.ir.instructions.Instr
org.jruby.ir.instructions.ResultBaseInstr
org.jruby.ir.instructions.TwoOperandResultBaseInstr
org.jruby.ir.instructions.YieldInstr
- All Implemented Interfaces:
FixedArityInstr
,ResultInstr
,Site
-
Field Summary
FieldsFields inherited from class org.jruby.ir.instructions.ResultBaseInstr
result
Fields inherited from class org.jruby.ir.instructions.Instr
EMPTY_OPERANDS
-
Constructor Summary
ConstructorsConstructorDescriptionYieldInstr
(Variable result, Operand block, Operand arg, int flags, boolean unwrapArray) -
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 YieldInstr
void
long
int
getFlags()
interpret
(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) boolean
void
setCallSiteId
(long callSiteId) String[]
void
Methods inherited from class org.jruby.ir.instructions.TwoOperandResultBaseInstr
getOperand1, getOperand2, getOperands, setOperand, setOperand1, setOperand2
Methods inherited from class org.jruby.ir.instructions.ResultBaseInstr
getResult, updateResult
Methods inherited from class org.jruby.ir.instructions.Instr
canBeDeletedFromScope, canRaiseException, cloneOperands, computeScopeFlags, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyInstr, simplifyOperands, simplifyOperands, toString, transfersControl
-
Field Details
-
unwrapArray
public final boolean unwrapArray
-
-
Constructor Details
-
YieldInstr
-
-
Method Details
-
getBlockArg
-
getYieldArg
-
getFlags
public int getFlags() -
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. -
toStringNonOperandArgs
- Overrides:
toStringNonOperandArgs
in classInstr
-
isUnwrapArray
public boolean isUnwrapArray() -
encode
- Overrides:
encode
in classResultBaseInstr
-
decode
-
interpret
public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) -
visit
-
getCallSiteId
public long getCallSiteId()- Specified by:
getCallSiteId
in interfaceSite
-
setCallSiteId
public void setCallSiteId(long callSiteId) - Specified by:
setCallSiteId
in interfaceSite
-