Package org.jruby.ir.instructions
package org.jruby.ir.instructions
-
ClassDescriptionInstruction representing Ruby code of the form: "a['str']" which is equivalent to: a.[]('str').Represents a defined?(yield) check, which works like a call to block_given? without requiring special access to the caller's frame.Represents a multiple-target jump instruction based on a switch-like tableMarks instrs that accept closure args.Marker interface to allow persistence to know whether operand arity is fixed or variableThis represents a linenumber instr that has been inlined into another method/closure.Simple interface so we can ask for jump label for branches or jumpsLoad the block passed to this scope via the on-heap frame (or similar cross-call structure).Load the block passed to this scope via the on-heap frame (or similar cross-call structure).Load the "implicit" closure for this scope.This 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).An instr with no Operandsresult instr with no operandsFor Instrs with an arbitrary number of Operands.Created by enebo on 7/28/15.Created by enebo on 7/27/15.Result Instr with one operand.This represents a required arg that shows up after optional/rest args in a method/block parameter list.For most instrs that have a result this is their base class.Search for a constant within the current module.Represents a site for a call or yield.This instruction toggles a single per thread field which specifies whether an exception being thrown needs to generate backtrace info.Instrumented trace.Instr for two operands.Result Instr with two operands.