Package org.jruby.ir.instructions
Class EQQInstr
java.lang.Object
org.jruby.ir.instructions.Instr
org.jruby.ir.instructions.NOperandInstr
org.jruby.ir.instructions.CallBase
org.jruby.ir.instructions.CallInstr
org.jruby.ir.instructions.EQQInstr
- All Implemented Interfaces:
ClosureAcceptingInstr,FixedArityInstr,ResultInstr,Site
-
Field Summary
FieldsFields inherited from class org.jruby.ir.instructions.CallBase
argsCount, callSite, callSiteCounter, callSiteId, hasClosure, name, procNewFields inherited from class org.jruby.ir.instructions.NOperandInstr
operandsFields inherited from class org.jruby.ir.instructions.Instr
EMPTY_OPERANDS -
Constructor Summary
ConstructorsModifierConstructorDescriptionEQQInstr(IRScope scope, Variable result, Operand v1, Operand v2, boolean splattedValue, boolean isPotentiallyRefined) protectedEQQInstr(IRScope scope, Variable result, Operand v1, Operand v2, boolean splattedValue, boolean isPotentiallyRefined, CallSite callSite, long callSiteID) -
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 EQQInstrvoidinterpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) booleanString[]voidMethods inherited from class org.jruby.ir.instructions.CallInstr
create, create, createWithKwargs, getResult, updateResultMethods inherited from class org.jruby.ir.instructions.CallBase
blockInlining, canBeEval, cloneCallArgs, computeScopeFlags, containsArgSplat, getArg1, getArgsCount, getCallArgs, getCallSite, getCallSiteFor, getCallSiteId, getCallType, getClosureArg, getClosureArg, getId, getName, getReceiver, hasLiteralClosure, inliningBlocked, isAllFixnums, isAllFloats, isPotentiallyRefined, prepareArguments, prepareArgumentsComplex, prepareArgumentsSimple, prepareBlock, setCallSiteId, setProcNew, simplifyOperands, splatMap, targetRequiresCallersBinding, targetRequiresCallersFrameMethods inherited from class org.jruby.ir.instructions.NOperandInstr
getOperands, setOperandMethods inherited from class org.jruby.ir.instructions.Instr
canBeDeletedFromScope, canRaiseException, cloneOperands, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpretAndGetNewIPC, isDead, isDeletable, markDead, renameVars, simplifyAndGetResult, toString, transfersControl
-
Field Details
-
splattedValue
private final boolean splattedValue
-
-
Constructor Details
-
EQQInstr
-
EQQInstr
-
-
Method Details
-
toStringNonOperandArgs
- Overrides:
toStringNonOperandArgsin classCallBase
-
isSplattedValue
public boolean isSplattedValue() -
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
-
decode
-
interpret
public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) -
visit
-