Package org.jruby.ir

Enum Class Operation

java.lang.Object
java.lang.Enum<Operation>
org.jruby.ir.Operation
All Implemented Interfaces:
Serializable, Comparable<Operation>, Constable

public enum Operation extends Enum<Operation>
  • Enum Constant Details

    • NOP

      public static final Operation NOP
    • JUMP

      public static final Operation JUMP
      control-flow
    • BNE

      public static final Operation BNE
    • B_UNDEF

      public static final Operation B_UNDEF
    • B_NIL

      public static final Operation B_NIL
    • B_TRUE

      public static final Operation B_TRUE
    • B_FALSE

      public static final Operation B_FALSE
    • B_SWITCH

      public static final Operation B_SWITCH
    • B_INT

      public static final Operation B_INT
    • RECV_SELF

      public static final Operation RECV_SELF
      argument receive in methods and blocks
    • RECV_PRE_REQD_ARG

      public static final Operation RECV_PRE_REQD_ARG
    • RECV_POST_REQD_ARG

      public static final Operation RECV_POST_REQD_ARG
    • RECV_KW

      public static final Operation RECV_KW
    • RECV_KW_ARG

      public static final Operation RECV_KW_ARG
    • RECV_KW_REST_ARG

      public static final Operation RECV_KW_REST_ARG
    • RECV_REST_ARG

      public static final Operation RECV_REST_ARG
    • RECV_OPT_ARG

      public static final Operation RECV_OPT_ARG
    • RECV_RUBY_EXC

      public static final Operation RECV_RUBY_EXC
    • RECV_JRUBY_EXC

      public static final Operation RECV_JRUBY_EXC
    • LOAD_IMPLICIT_CLOSURE

      public static final Operation LOAD_IMPLICIT_CLOSURE
    • REIFY_CLOSURE

      public static final Operation REIFY_CLOSURE
      Instruction to reify an passed-in block to a Proc for def foo(&b)
    • LOAD_FRAME_CLOSURE

      public static final Operation LOAD_FRAME_CLOSURE
    • LOAD_BLOCK_IMPLICIT_CLOSURE

      public static final Operation LOAD_BLOCK_IMPLICIT_CLOSURE
    • CALL

      public static final Operation CALL
      calls
    • NORESULT_CALL

      public static final Operation NORESULT_CALL
    • ATTR_ASSIGN

      public static final Operation ATTR_ASSIGN
    • ARRAY_DEREF

      public static final Operation ARRAY_DEREF
    • AS_STRING

      public static final Operation AS_STRING
    • CLASS_SUPER

      public static final Operation CLASS_SUPER
    • INSTANCE_SUPER

      public static final Operation INSTANCE_SUPER
    • UNRESOLVED_SUPER

      public static final Operation UNRESOLVED_SUPER
    • ZSUPER

      public static final Operation ZSUPER
    • CALL_1F

      public static final Operation CALL_1F
    • CALL_1D

      public static final Operation CALL_1D
    • CALL_1O

      public static final Operation CALL_1O
    • CALL_2O

      public static final Operation CALL_2O
    • CALL_1OB

      public static final Operation CALL_1OB
    • CALL_0O

      public static final Operation CALL_0O
    • NORESULT_CALL_1O

      public static final Operation NORESULT_CALL_1O
    • BLOCK_GIVEN_CALL

      public static final Operation BLOCK_GIVEN_CALL
    • FRAME_NAME_CALL

      public static final Operation FRAME_NAME_CALL
    • EQQ

      public static final Operation EQQ
      Ruby operators: should all these be calls? Implementing instrs don't inherit from CallBase.java
    • LAMBDA

      public static final Operation LAMBDA
    • MATCH

      public static final Operation MATCH
    • YIELD

      public static final Operation YIELD
    • RETURN

      public static final Operation RETURN
      returns -- returns unwind stack, etc.
    • NONLOCAL_RETURN

      public static final Operation NONLOCAL_RETURN
    • BREAK

      public static final Operation BREAK
    • RETURN_OR_RETHROW_SAVED_EXC

      public static final Operation RETURN_OR_RETHROW_SAVED_EXC
    • ALIAS

      public static final Operation ALIAS
      defines
    • DEF_MODULE

      public static final Operation DEF_MODULE
    • DEF_CLASS

      public static final Operation DEF_CLASS
    • DEF_META_CLASS

      public static final Operation DEF_META_CLASS
    • DEF_INST_METH

      public static final Operation DEF_INST_METH
    • DEF_CLASS_METH

      public static final Operation DEF_CLASS_METH
    • PROCESS_MODULE_BODY

      public static final Operation PROCESS_MODULE_BODY
    • UNDEF_METHOD

      public static final Operation UNDEF_METHOD
    • GVAR_ALIAS

      public static final Operation GVAR_ALIAS
      SSS FIXME: This can throw an exception only in tracing mode Should override canRaiseException in GVarAliasInstr to implement this maybe
    • LABEL

      public static final Operation LABEL
      marker instructions used to flag/mark places in the code and dont actually get executed
    • EXC_REGION_START

      public static final Operation EXC_REGION_START
    • EXC_REGION_END

      public static final Operation EXC_REGION_END
    • LEXICAL_SEARCH_CONST

      public static final Operation LEXICAL_SEARCH_CONST
      constant operations
    • INHERITANCE_SEARCH_CONST

      public static final Operation INHERITANCE_SEARCH_CONST
    • SEARCH_CONST

      public static final Operation SEARCH_CONST
    • SEARCH_MODULE_FOR_CONST

      public static final Operation SEARCH_MODULE_FOR_CONST
    • GET_GLOBAL_VAR

      public static final Operation GET_GLOBAL_VAR
    • GET_FIELD

      public static final Operation GET_FIELD
    • GET_CVAR

      public static final Operation GET_CVAR
      SSS FIXME: Document what causes this instr to raise an exception
    • PUT_GLOBAL_VAR

      public static final Operation PUT_GLOBAL_VAR
      value stores
    • PUT_CONST

      public static final Operation PUT_CONST
    • PUT_CVAR

      public static final Operation PUT_CVAR
    • PUT_FIELD

      public static final Operation PUT_FIELD
    • LINE_NUM

      public static final Operation LINE_NUM
      debugging ops
    • TRACE

      public static final Operation TRACE
    • COVERAGE

      public static final Operation COVERAGE
    • BINDING_LOAD

      public static final Operation BINDING_LOAD
      JRuby-impl instructions
    • BINDING_STORE

      public static final Operation BINDING_STORE
    • BUILD_BACKREF

      public static final Operation BUILD_BACKREF
    • BUILD_COMPOUND_ARRAY

      public static final Operation BUILD_COMPOUND_ARRAY
    • BUILD_COMPOUND_STRING

      public static final Operation BUILD_COMPOUND_STRING
    • BUILD_DREGEXP

      public static final Operation BUILD_DREGEXP
    • BUILD_RANGE

      public static final Operation BUILD_RANGE
    • BUILD_SPLAT

      public static final Operation BUILD_SPLAT
    • CHECK_ARGS_ARRAY_ARITY

      public static final Operation CHECK_ARGS_ARRAY_ARITY
    • CHECK_ARITY

      public static final Operation CHECK_ARITY
    • CHECK_FOR_LJE

      public static final Operation CHECK_FOR_LJE
    • CLASS_VAR_MODULE

      public static final Operation CLASS_VAR_MODULE
    • COPY

      public static final Operation COPY
    • GET_ENCODING

      public static final Operation GET_ENCODING
    • INT_MATH

      public static final Operation INT_MATH
    • AS_FIXNUM

      public static final Operation AS_FIXNUM
    • MASGN_OPT

      public static final Operation MASGN_OPT
    • MASGN_REQD

      public static final Operation MASGN_REQD
    • MASGN_REST

      public static final Operation MASGN_REST
    • RAISE_ARGUMENT_ERROR

      public static final Operation RAISE_ARGUMENT_ERROR
    • RAISE_REQUIRED_KEYWORD_ARGUMENT_ERROR

      public static final Operation RAISE_REQUIRED_KEYWORD_ARGUMENT_ERROR
    • RECORD_END_BLOCK

      public static final Operation RECORD_END_BLOCK
    • RESCUE_EQQ

      public static final Operation RESCUE_EQQ
    • RUNTIME_HELPER

      public static final Operation RUNTIME_HELPER
    • SET_CAPTURED_VAR

      public static final Operation SET_CAPTURED_VAR
    • THREAD_POLL

      public static final Operation THREAD_POLL
    • THROW

      public static final Operation THROW
    • TO_ARY

      public static final Operation TO_ARY
    • BLOCK_GIVEN

      public static final Operation BLOCK_GIVEN
    • GET_ERROR_INFO

      public static final Operation GET_ERROR_INFO
    • RESTORE_ERROR_INFO

      public static final Operation RESTORE_ERROR_INFO
    • BOX_FIXNUM

      public static final Operation BOX_FIXNUM
    • BOX_FLOAT

      public static final Operation BOX_FLOAT
    • BOX_BOOLEAN

      public static final Operation BOX_BOOLEAN
    • UNBOX_FIXNUM

      public static final Operation UNBOX_FIXNUM
    • UNBOX_FLOAT

      public static final Operation UNBOX_FLOAT
    • UNBOX_BOOLEAN

      public static final Operation UNBOX_BOOLEAN
    • IADD

      public static final Operation IADD
    • ISUB

      public static final Operation ISUB
    • IMUL

      public static final Operation IMUL
    • IDIV

      public static final Operation IDIV
    • ILT

      public static final Operation ILT
    • IGT

      public static final Operation IGT
    • IOR

      public static final Operation IOR
    • IAND

      public static final Operation IAND
    • IXOR

      public static final Operation IXOR
    • ISHL

      public static final Operation ISHL
    • ISHR

      public static final Operation ISHR
    • IEQ

      public static final Operation IEQ
    • FADD

      public static final Operation FADD
    • FSUB

      public static final Operation FSUB
    • FMUL

      public static final Operation FMUL
    • FDIV

      public static final Operation FDIV
    • FLT

      public static final Operation FLT
    • FGT

      public static final Operation FGT
    • FEQ

      public static final Operation FEQ
    • MODULE_GUARD

      public static final Operation MODULE_GUARD
      Other JRuby internal primitives for optimizations
    • PUSH_METHOD_FRAME

      public static final Operation PUSH_METHOD_FRAME
    • PUSH_BACKREF_FRAME

      public static final Operation PUSH_BACKREF_FRAME
    • PUSH_METHOD_BINDING

      public static final Operation PUSH_METHOD_BINDING
    • POP_METHOD_FRAME

      public static final Operation POP_METHOD_FRAME
    • POP_BACKREF_FRAME

      public static final Operation POP_BACKREF_FRAME
    • PUSH_BLOCK_FRAME

      public static final Operation PUSH_BLOCK_FRAME
    • PUSH_BLOCK_BINDING

      public static final Operation PUSH_BLOCK_BINDING
    • POP_BLOCK_FRAME

      public static final Operation POP_BLOCK_FRAME
    • POP_BINDING

      public static final Operation POP_BINDING
    • SAVE_BINDING_VIZ

      public static final Operation SAVE_BINDING_VIZ
    • RESTORE_BINDING_VIZ

      public static final Operation RESTORE_BINDING_VIZ
    • TOGGLE_BACKTRACE

      public static final Operation TOGGLE_BACKTRACE
    • UPDATE_BLOCK_STATE

      public static final Operation UPDATE_BLOCK_STATE
    • PREPARE_BLOCK_ARGS

      public static final Operation PREPARE_BLOCK_ARGS
    • PREPARE_SINGLE_BLOCK_ARG

      public static final Operation PREPARE_SINGLE_BLOCK_ARG
    • PREPARE_FIXED_BLOCK_ARGS

      public static final Operation PREPARE_FIXED_BLOCK_ARGS
    • PREPARE_NO_BLOCK_ARGS

      public static final Operation PREPARE_NO_BLOCK_ARGS
  • Field Details

    • opClass

      public final OpClass opClass
  • Method Details

    • values

      public static Operation[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static Operation valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • transfersControl

      public boolean transfersControl()
    • isLoad

      public boolean isLoad()
    • isStore

      public boolean isStore()
    • isCall

      public boolean isCall()
    • isBranch

      public boolean isBranch()
    • isReturn

      public boolean isReturn()
    • isException

      public boolean isException()
    • isArgReceive

      public boolean isArgReceive()
    • startsBasicBlock

      public boolean startsBasicBlock()
    • endsBasicBlock

      public boolean endsBasicBlock()
      The last instruction in the BB which will exit the BB. Note: This also means any instructions past this point in that BB are unreachable.
    • hasSideEffects

      public boolean hasSideEffects()
    • isDebugOp

      public boolean isDebugOp()
    • isBookKeepingOp

      public boolean isBookKeepingOp()
    • canRaiseException

      public boolean canRaiseException()
    • modifiesCode

      public boolean modifiesCode()
    • inlineUnfriendly

      public boolean inlineUnfriendly()
    • toString

      public String toString()
      Overrides:
      toString in class Enum<Operation>
    • fromOrdinal

      public static Operation fromOrdinal(int value)