Uses of Class
org.jruby.ir.instructions.Instr
Packages that use Instr
Package
Description
-
Uses of Instr in org.jruby.ir
Fields in org.jruby.ir with type parameters of type InstrMethods in org.jruby.ir that return InstrModifier and TypeMethodDescriptionprivate Instr[]IRScope.cloneInstrs()static InstrIRBuilder.createBranch(Operand v1, Operand v2, Label jmpTarget) Methods in org.jruby.ir that return types with arguments of type InstrMethods in org.jruby.ir with parameters of type InstrModifier and TypeMethodDescriptionvoidvoidvoidIRBuilder.addInstrAtBeginning(Instr instr) voidIRBuilder.EnsureBlockInfo.addInstrAtBeginning(Instr i) private static voidIRBuilder.extractCallOperands(List<Operand> callArgs, List<KeyValuePair<Operand, Operand>> keywordArgs, Instr instr) voidvoidMethod parameters in org.jruby.ir with type arguments of type InstrModifier and TypeMethodDescriptionIRClosure.allocateInterpreterContext(Supplier<List<Instr>> instructions, int temporaryVariableCount, EnumSet<IRFlags> flags) IRClosure.allocateInterpreterContext(List<Instr> instructions, int temporaryVariableCount, EnumSet<IRFlags> flags) IRScope.allocateInterpreterContext(Supplier<List<Instr>> instructions, int tempVariableCount, EnumSet<IRFlags> flags) Make version specific to scope which needs it (e.g.IRScope.allocateInterpreterContext(List<Instr> instructions, int tempVariableCount, EnumSet<IRFlags> flags) Make version specific to scope which needs it (e.g.voidIRBuilder.computeScopeFlagsFrom(List<Instr> instructions) -
Uses of Instr in org.jruby.ir.dataflow
Methods in org.jruby.ir.dataflow with parameters of type InstrModifier and TypeMethodDescriptionabstract voidFlowGraphNode.applyTransferFunction(Instr i) Apply transfer function to the instructionabstract voidFlowGraphNode.buildDataFlowVars(Instr i) Builds the data-flow variables (or facts) for a particular instruction. -
Uses of Instr in org.jruby.ir.dataflow.analyses
Methods in org.jruby.ir.dataflow.analyses with parameters of type InstrModifier and TypeMethodDescriptionvoidDefinedVariableNode.applyTransferFunction(Instr i) voidLiveVariableNode.applyTransferFunction(Instr i) voidLoadLocalVarPlacementNode.applyTransferFunction(Instr i) voidStoreLocalVarPlacementNode.applyTransferFunction(Instr i) voidUnboxableOpsAnalysisNode.applyTransferFunction(Instr i) private voidUnboxableOpsAnalysisNode.boxRequiredVars(Instr i, UnboxableOpsAnalysisNode.UnboxState state, Map<Variable, TemporaryLocalVariable> unboxMap, Variable dst, boolean hasRescuer, boolean isDFBarrier, List<Instr> newInstrs) voidDefinedVariableNode.buildDataFlowVars(Instr i) voidLiveVariableNode.buildDataFlowVars(Instr i) voidLoadLocalVarPlacementNode.buildDataFlowVars(Instr i) voidStoreLocalVarPlacementNode.buildDataFlowVars(Instr i) voidUnboxableOpsAnalysisNode.buildDataFlowVars(Instr i) private voidUnboxableOpsAnalysisNode.updateUnboxedVarsInfoForBoxedInstr(Instr i, UnboxableOpsAnalysisNode.UnboxState state, Variable dst, boolean hasRescuer, boolean isDFBarrier) Method parameters in org.jruby.ir.dataflow.analyses with type arguments of type InstrModifier and TypeMethodDescription(package private) booleanStoreLocalVarPlacementProblem.addScopeExitStoreLocalVars(ListIterator<Instr> instrs, Set<LocalVariable> dirtyVars, Map<Operand, Operand> varRenameMap) private voidUnboxableOpsAnalysisNode.boxRequiredVars(Instr i, UnboxableOpsAnalysisNode.UnboxState state, Map<Variable, TemporaryLocalVariable> unboxMap, Variable dst, boolean hasRescuer, boolean isDFBarrier, List<Instr> newInstrs) voidUnboxableOpsAnalysisNode.boxVar(UnboxableOpsAnalysisNode.UnboxState state, Class reqdType, Map<Variable, TemporaryLocalVariable> unboxMap, Variable v, List<Instr> newInstrs) private OperandUnboxableOpsAnalysisNode.unboxOperand(UnboxableOpsAnalysisNode.UnboxState state, Class reqdType, Map<Variable, TemporaryLocalVariable> unboxMap, Operand arg, List<Instr> newInstrs) voidUnboxableOpsAnalysisNode.unboxVar(UnboxableOpsAnalysisNode.UnboxState state, Class reqdType, Map<Variable, TemporaryLocalVariable> unboxMap, Variable v, List<Instr> newInstrs) -
Uses of Instr in org.jruby.ir.instructions
Subclasses of Instr in org.jruby.ir.instructionsModifier and TypeClassDescriptionclassclassInstruction representing Ruby code of the form: "a['str']" which is equivalent to: a.[]('str').classclassclassclassRepresents a defined?(yield) check, which works like a call to block_given? without requiring special access to the caller's frame.classclassclassclassclassRepresents a multiple-target jump instruction based on a switch-like tableclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassThis represents a linenumber instr that has been inlined into another method/closure.classclassclassclassclassclassLoad the block passed to this scope via the on-heap frame (or similar cross-call structure).classLoad the block passed to this scope via the on-heap frame (or similar cross-call structure).classLoad the "implicit" closure for this scope.classclassclassThis instruction will be generated whenever speculative optimizations are performed based on assuming that an object's metaclass is C (as determined by the version number of C -- where the version number changes every time C's class structure changes).classclassclassclassAn instr with no Operandsclassresult instr with no operandsclassFor Instrs with an arbitrary number of Operands.classCreated by enebo on 7/28/15.classclassclassclassCreated by enebo on 7/27/15.classResult Instr with one operand.classclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassclassThis represents a required arg that shows up after optional/rest args in a method/block parameter list.classclassclassclassclassclassclassclassclassclassclassFor most instrs that have a result this is their base class.classclassclassclassclassclassclassSearch for a constant within the current module.classclassclassclassclassclassThis instruction toggles a single per thread field which specifies whether an exception being thrown needs to generate backtrace info.classInstrumented trace.classclassInstr for two operands.classResult Instr with two operands.classclassclassclassclassMethods in org.jruby.ir.instructions that return InstrModifier and TypeMethodDescriptionabstract 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).BFalseInstr.simplifyBranch(FullInterpreterContext fic) BNEInstr.simplifyBranch(FullInterpreterContext fic) BNilInstr.simplifyBranch(FullInterpreterContext fic) BranchInstr.simplifyBranch(FullInterpreterContext fic) BTrueInstr.simplifyBranch(FullInterpreterContext fic) BUndefInstr.simplifyBranch(FullInterpreterContext fic) -
Uses of Instr in org.jruby.ir.instructions.boxing
Subclasses of Instr in org.jruby.ir.instructions.boxingModifier and TypeClassDescriptionclassclassclassclassclassclassclassclassclassMethods in org.jruby.ir.instructions.boxing that return InstrModifier and TypeMethodDescription -
Uses of Instr in org.jruby.ir.instructions.defined
Subclasses of Instr in org.jruby.ir.instructions.definedMethods in org.jruby.ir.instructions.defined that return Instr -
Uses of Instr in org.jruby.ir.instructions.specialized
Subclasses of Instr in org.jruby.ir.instructions.specializedModifier and TypeClassDescriptionclassclassclassclassclassclassclassclassMethods in org.jruby.ir.instructions.specialized that return InstrModifier and TypeMethodDescription -
Uses of Instr in org.jruby.ir.interpreter
Fields in org.jruby.ir.interpreter declared as InstrModifier and TypeFieldDescriptionprotected Instr[]InterpreterContext.instructionsprivate static final Instr[]InterpreterContext.NO_INSTRUCTIONSFields in org.jruby.ir.interpreter with type parameters of type InstrMethods in org.jruby.ir.interpreter that return InstrModifier and TypeMethodDescriptionInstr[]InterpreterContext.getInstructions()private Instr[]InterpreterContext.prepareBuildInstructions(List<Instr> instructions) Methods in org.jruby.ir.interpreter with parameters of type InstrModifier and TypeMethodDescriptionprivate CFGprotected static voidInterpreterEngine.extractToMethodToAvoidC2Crash(Instr instr, Throwable t) protected static voidInterpreterEngine.processBookKeepingOp(ThreadContext context, Block block, Instr instr, Operation operation, String name, IRubyObject[] args, IRubyObject self, Block blockArg, RubyModule implClass, DynamicScope currDynScope, Object[] temp, StaticScope currScope) protected static voidInterpreterEngine.processCall(ThreadContext context, Instr instr, Operation operation, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject self) protected static voidExitableInterpreterEngine.processOtherOp(ThreadContext context, Block block, Instr instr, Operation operation, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject self) protected static voidInterpreterEngine.processOtherOp(ThreadContext context, Block block, Instr instr, Operation operation, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject self, double[] floats, long[] fixnums, boolean[] booleans) protected static voidStartupInterpreterEngine.processOtherOp(ThreadContext context, Block block, Instr instr, Operation operation, DynamicScope currDynScope, StaticScope currScope, Object[] temp, IRubyObject self) protected static IRubyObjectInterpreterEngine.processReturnOp(ThreadContext context, Block block, Instr instr, Operation operation, DynamicScope currDynScope, Object[] temp, IRubyObject self, StaticScope currScope) protected static voidInterpreterEngine.receiveArg(ThreadContext context, Instr i, Operation operation, IRubyObject[] args, boolean acceptsKeywordArgument, DynamicScope currDynScope, Object[] temp, Object exception, Block blockArg) protected static voidInterpreterEngine.setResult(Object[] temp, DynamicScope currDynScope, Instr instr, Object result) static voidProfiler.updateCallSite(Instr instr, IRScope scope, Integer scopeVersion) Method parameters in org.jruby.ir.interpreter with type arguments of type InstrModifier and TypeMethodDescriptionprivate Instr[]InterpreterContext.prepareBuildInstructions(List<Instr> instructions) private voidInterpreterContext.setInstructions(List<Instr> instructions) Constructors in org.jruby.ir.interpreter with parameters of type InstrModifierConstructorDescriptionFullInterpreterContext(IRScope scope, Instr[] instructions, int temporaryVariableCount, EnumSet<IRFlags> flags) Constructor parameters in org.jruby.ir.interpreter with type arguments of type InstrModifierConstructorDescriptionClosureInterpreterContext(IRClosure scope, Supplier<List<Instr>> instructions, int temporaryVariableCount, EnumSet<IRFlags> flags) ClosureInterpreterContext(IRClosure scope, List<Instr> instructions, int temporaryVariableCount, EnumSet<IRFlags> flags) InterpreterContext(IRScope scope, Supplier<List<Instr>> instructions, int temporaryVariableCount, EnumSet<IRFlags> flags) InterpreterContext(IRScope scope, List<Instr> instructions, int temporaryVariableCount, EnumSet<IRFlags> flags) -
Uses of Instr in org.jruby.ir.listeners
Fields in org.jruby.ir.listeners declared as InstrModifier and TypeFieldDescriptionprivate InstrInstructionsListenerDecorator.InstructionsListIterator.currentInstrFields in org.jruby.ir.listeners with type parameters of type InstrModifier and TypeFieldDescriptionInstructionsListenerDecorator.instrsprivate final ListIterator<Instr>InstructionsListenerDecorator.InstructionsListIterator.listIteratorMethods in org.jruby.ir.listeners that return InstrModifier and TypeMethodDescriptionInstructionsListenerDecorator.get(int index) InstructionsListenerDecorator.InstructionsListIterator.next()InstructionsListenerDecorator.InstructionsListIterator.previous()InstructionsListenerDecorator.remove(int index) Methods in org.jruby.ir.listeners that return types with arguments of type InstrModifier and TypeMethodDescriptionInstructionsListenerDecorator.iterator()InstructionsListenerDecorator.listIterator()InstructionsListenerDecorator.listIterator(int index) InstructionsListenerDecorator.subList(int fromIndex, int toIndex) Methods in org.jruby.ir.listeners with parameters of type InstrModifier and TypeMethodDescriptionvoidbooleanvoidvoidIRScopeListener.addedInstr(IRScope scope, Instr instr, int index) voidInstructionsListener.instrChanged(BasicBlock basicBlock, Instr oldInstr, Instr newInstr, int index, InstructionsListener.OperationType op) listen to a change of a list of instructions, right before the change going to take placevoidMethod parameters in org.jruby.ir.listeners with type arguments of type InstrModifier and TypeMethodDescriptionbooleanInstructionsListenerDecorator.addAll(int index, Collection<? extends Instr> c) booleanInstructionsListenerDecorator.addAll(Collection<? extends Instr> c) Constructor parameters in org.jruby.ir.listeners with type arguments of type InstrModifierConstructorDescriptionInstructionsListenerDecorator(BasicBlock basicBlock, List<Instr> instrs, InstructionsListener listener) -
Uses of Instr in org.jruby.ir.passes
Methods in org.jruby.ir.passes that return InstrModifier and TypeMethodDescriptionstatic InstrLocalOptimizationPass.optInstr(FullInterpreterContext fic, Instr instr, Map<Operand, Operand> valueMap, Map<Variable, List<Variable>> simplificationMap) Methods in org.jruby.ir.passes with parameters of type InstrModifier and TypeMethodDescriptionstatic InstrLocalOptimizationPass.optInstr(FullInterpreterContext fic, Instr instr, Map<Operand, Operand> valueMap, Map<Variable, List<Variable>> simplificationMap) static voidLocalOptimizationPass.runLocalOptsOnInstrArray(FullInterpreterContext fic, Instr[] instrs) private static booleanOptimizeDelegationPass.usesVariableAsNonClosureArg(Instr i, Variable v) Method parameters in org.jruby.ir.passes with type arguments of type InstrModifier and TypeMethodDescriptionprivate voidAddCallProtocolInstructions.fixReturn(FullInterpreterContext fic, ReturnBase i, ListIterator<Instr> instrs) private voidAddCallProtocolInstructions.popSavedState(boolean needsOnlyBackref, boolean isClosure, boolean isGEB, boolean requireBinding, boolean needsFrame, Variable savedViz, Variable savedFrame, ListIterator<Instr> instrs) -
Uses of Instr in org.jruby.ir.persistence
Methods in org.jruby.ir.persistence that return InstrMethods in org.jruby.ir.persistence that return types with arguments of type InstrModifier and TypeMethodDescriptionIRReaderDecoder.decodeInstructionsAt(IRScope scope, int poolOffset, int instructionOffset) IRReaderStream.decodeInstructionsAt(IRScope scope, int poolOffset, int offset) Methods in org.jruby.ir.persistence with parameters of type Instr -
Uses of Instr in org.jruby.ir.representations
Fields in org.jruby.ir.representations declared as InstrFields in org.jruby.ir.representations with type parameters of type InstrMethods in org.jruby.ir.representations that return InstrMethods in org.jruby.ir.representations that return types with arguments of type InstrMethods in org.jruby.ir.representations with parameters of type InstrModifier and TypeMethodDescriptionvoidprivate static voidCFGLinearizer.addJumpIfNextNotDestination(CFG cfg, BasicBlock next, Instr lastInstr, BasicBlock current) org.jruby.dirgra.DirectedGraph<BasicBlock>Build the Control Flow GraphvoidBasicBlock.insertInstr(int index, Instr i) voidBasicBlock.insertInstr(Instr i) intbooleanBasicBlock.removeInstr(Instr i) private static voidCFGLinearizer.tryAndRemoveUnneededJump(BasicBlock next, CFG cfg, Instr lastInstr, BasicBlock current) Method parameters in org.jruby.ir.representations with type arguments of type Instr -
Uses of Instr in org.jruby.ir.targets
Fields in org.jruby.ir.targets declared as InstrMethods in org.jruby.ir.targets with parameters of type InstrModifier and TypeMethodDescriptionprivate booleanJVMVisitor.canOmitStoreLoad(EQQInstr eqq, Instr nextInstr) void -
Uses of Instr in org.jruby.ir.util
Fields in org.jruby.ir.util with type parameters of type InstrModifier and TypeFieldDescriptionIGVInstrListener.removedEdgesIGVInstrListener.removedEdgesprivate Map<BasicBlock,List<Instr>> IGVInstrListener.removedInstrsMethods in org.jruby.ir.util that return types with arguments of type InstrModifier and TypeMethodDescriptionIGVInstrListener.getRemovedEdges()IGVInstrListener.getRemovedEdges()IGVInstrListener.removedList(BasicBlock basicBlock) Methods in org.jruby.ir.util with parameters of type InstrModifier and TypeMethodDescriptionvoidIGVInstrListener.instrChanged(BasicBlock basicBlock, Instr oldInstr, Instr newInstr, int index, InstructionsListener.OperationType op)