jruby/docs BETA
Navigation
org.jruby.ir 21
C Compiler
C Counter
C IRClassBody
C IRClosure
C IREvalScript
E IRFlags
C IRFor
C IRManager
C IRMetaClassBody
C IRMethod
C IRModuleBody
C IRScope
E IRScopeType
C IRScriptBody
C IRTranslator
C IRVisitor
A Interp
A JIT
E OpClass
E Operation
C Tuple
Operation — members 171+
F NOP() Operation
F JUMP() Operation
F BNE() Operation
F B_UNDEF() Operation
F B_NIL() Operation
F B_TRUE() Operation
F B_FALSE() Operation
F B_SWITCH() Operation
F B_INT() Operation
F RECV_SELF() Operation
F RECV_PRE_REQD_ARG() Operation
F RECV_POST_REQD_ARG() Operation
F RECV_KW() Operation
F RECV_KW_ARG() Operation
F RECV_KW_REST_ARG() Operation
F RECV_REST_ARG() Operation
F RECV_OPT_ARG() Operation
F RECV_RUBY_EXC() Operation
F RECV_JRUBY_EXC() Operation
F LOAD_IMPLICIT_CLOSURE() Operation
F REIFY_CLOSURE() Operation
F LOAD_FRAME_CLOSURE() Operation
F LOAD_BLOCK_IMPLICIT_CLOSURE() Operation
F CALL() Operation
F NORESULT_CALL() Operation
F ATTR_ASSIGN() Operation
F ARRAY_DEREF() Operation
F AS_STRING() Operation
F CLASS_SUPER() Operation
F INSTANCE_SUPER() Operation
F UNRESOLVED_SUPER() Operation
F ZSUPER() Operation
F CALL_1F() Operation
F CALL_1D() Operation
F CALL_1O() Operation
F CALL_2O() Operation
F CALL_1OB() Operation
F CALL_0O() Operation
F NORESULT_CALL_1O() Operation
F BLOCK_GIVEN_CALL() Operation
F FRAME_NAME_CALL() Operation
F EQQ() Operation
F LAMBDA() Operation
F MATCH() Operation
F YIELD() Operation
F RETURN() Operation
F NONLOCAL_RETURN() Operation
F BREAK() Operation
F RETURN_OR_RETHROW_SAVED_EXC() Operation
F ALIAS() Operation
F DEF_MODULE() Operation
F DEF_CLASS() Operation
F DEF_META_CLASS() Operation
F DEF_INST_METH() Operation
F DEF_CLASS_METH() Operation
F PROCESS_MODULE_BODY() Operation
F UNDEF_METHOD() Operation
F GVAR_ALIAS() Operation
F LABEL() Operation
F EXC_REGION_START() Operation
F EXC_REGION_END() Operation
F LEXICAL_SEARCH_CONST() Operation
F INHERITANCE_SEARCH_CONST() Operation
F SEARCH_CONST() Operation
F SEARCH_MODULE_FOR_CONST() Operation
F GET_GLOBAL_VAR() Operation
F GET_FIELD() Operation
F GET_CVAR() Operation
F PUT_GLOBAL_VAR() Operation
F PUT_CONST() Operation
F PUT_CVAR() Operation
F PUT_FIELD() Operation
F LINE_NUM() Operation
F TRACE() Operation
F COVERAGE() Operation
F BINDING_LOAD() Operation
F BINDING_STORE() Operation
F BUILD_BACKREF() Operation
F BUILD_NTHREF() Operation
F BUILD_COMPOUND_ARRAY() Operation
F BUILD_COMPOUND_STRING() Operation
F BUILD_DREGEXP() Operation
F BUILD_RANGE() Operation
F BUILD_SPLAT() Operation
F CHECK_ARGS_ARRAY_ARITY() Operation
F CHECK_ARITY() Operation
F CHECK_FOR_LJE() Operation
F CLASS_VAR_MODULE() Operation
F COPY() Operation
F GET_ENCODING() Operation
F INT_MATH() Operation
F AS_FIXNUM() Operation
F MASGN_OPT() Operation
F MASGN_REQD() Operation
F MASGN_REST() Operation
F RAISE_ARGUMENT_ERROR() Operation
F RAISE_REQUIRED_KEYWORD_ARGUMENT_ERROR() Operation
F RECORD_END_BLOCK() Operation
F RESCUE_EQQ() Operation
F RUNTIME_HELPER() Operation
F SET_CAPTURED_VAR() Operation
F THREAD_POLL() Operation
F THROW() Operation
F TO_ARY() Operation
F BLOCK_GIVEN() Operation
F GET_ERROR_INFO() Operation
F RESTORE_ERROR_INFO() Operation
F BOX_FIXNUM() Operation
F BOX_FLOAT() Operation
F BOX_BOOLEAN() Operation
F UNBOX_FIXNUM() Operation
F UNBOX_FLOAT() Operation
F UNBOX_BOOLEAN() Operation
F IADD() Operation
F ISUB() Operation
F IMUL() Operation
F IDIV() Operation
F ILT() Operation
F IGT() Operation
F IOR() Operation
F IAND() Operation
F IXOR() Operation
F ISHL() Operation
F ISHR() Operation
F IEQ() Operation
F FADD() Operation
F FSUB() Operation
F FMUL() Operation
F FDIV() Operation
F FLT() Operation
F FGT() Operation
F FEQ() Operation
F MODULE_GUARD() Operation
F PUSH_METHOD_FRAME() Operation
F PUSH_BACKREF_FRAME() Operation
F PUSH_METHOD_BINDING() Operation
F POP_METHOD_FRAME() Operation
F POP_BACKREF_FRAME() Operation
F PUSH_BLOCK_FRAME() Operation
F PUSH_BLOCK_BINDING() Operation
F POP_BLOCK_FRAME() Operation
F POP_BINDING() Operation
F SAVE_BINDING_VIZ() Operation
F RESTORE_BINDING_VIZ() Operation
F TOGGLE_BACKTRACE() Operation
F UPDATE_BLOCK_STATE() Operation
F PREPARE_BLOCK_ARGS() Operation
F PREPARE_SINGLE_BLOCK_ARG() Operation
F PREPARE_FIXED_BLOCK_ARGS() Operation
F PREPARE_NO_BLOCK_ARGS() Operation
F opClass() OpClass
M arg_receive?() boolean
M book_keeping_op?() boolean
M branch?() boolean
M call?() boolean
M can_raise_exception() boolean
M debug_op?() boolean
M ends_basic_block() boolean
M exception?() boolean
M from_ordinal(value) Operation
M has_side_effects?() boolean
M inline_unfriendly() boolean
M load?() boolean
M modifies_code() boolean
M return?() boolean
M starts_basic_block() boolean
M store?() boolean
M to_string() String
M transfers_control() boolean
M value_of(name) Operation
M values() Operation[]
from Enum
M compare_to(arg0) int
M declaring_class() Class<E>
M describe_constable() EnumDesc<E>>
M equals(arg0) boolean
M hash_code() int
M name() String
M ordinal() int

org.jruby.ir.Operation

enum final 171 members

Constants

constanttypenote
NOP Operation
JUMP Operation control-flow
BNE Operation
B_UNDEF Operation
B_NIL Operation
B_TRUE Operation
B_FALSE Operation
B_SWITCH Operation
B_INT Operation
RECV_SELF Operation argument receive in methods and blocks
RECV_PRE_REQD_ARG Operation
RECV_POST_REQD_ARG Operation
RECV_KW Operation
RECV_KW_ARG Operation
RECV_KW_REST_ARG Operation
RECV_REST_ARG Operation
RECV_OPT_ARG Operation
RECV_RUBY_EXC Operation
RECV_JRUBY_EXC Operation
LOAD_IMPLICIT_CLOSURE Operation
REIFY_CLOSURE Operation Instruction to reify an passed-in block to a Proc for def foo(&b)
LOAD_FRAME_CLOSURE Operation
LOAD_BLOCK_IMPLICIT_CLOSURE Operation
CALL Operation calls
NORESULT_CALL Operation
ATTR_ASSIGN Operation
ARRAY_DEREF Operation
AS_STRING Operation
CLASS_SUPER Operation
INSTANCE_SUPER Operation
UNRESOLVED_SUPER Operation
ZSUPER Operation
CALL_1F Operation
CALL_1D Operation
CALL_1O Operation
CALL_2O Operation
CALL_1OB Operation
CALL_0O Operation
NORESULT_CALL_1O Operation
BLOCK_GIVEN_CALL Operation
FRAME_NAME_CALL Operation
EQQ Operation Ruby operators: should all these be calls? Implementing instrs don't inherit from CallBase.java
LAMBDA Operation
MATCH Operation
YIELD Operation
RETURN Operation returns -- returns unwind stack, etc.
NONLOCAL_RETURN Operation
BREAK Operation
RETURN_OR_RETHROW_SAVED_EXC Operation
ALIAS Operation defines
DEF_MODULE Operation
DEF_CLASS Operation
DEF_META_CLASS Operation
DEF_INST_METH Operation
DEF_CLASS_METH Operation
PROCESS_MODULE_BODY Operation
UNDEF_METHOD Operation
GVAR_ALIAS Operation SSS FIXME: This can throw an exception only in tracing mode Should override canRaiseException in GVarAliasInstr to implement this maybe
LABEL Operation marker instructions used to flag/mark places in the code and dont actually get executed
EXC_REGION_START Operation
EXC_REGION_END Operation
LEXICAL_SEARCH_CONST Operation constant operations
INHERITANCE_SEARCH_CONST Operation
SEARCH_CONST Operation
SEARCH_MODULE_FOR_CONST Operation
GET_GLOBAL_VAR Operation
GET_FIELD Operation
GET_CVAR Operation SSS FIXME: Document what causes this instr to raise an exception
PUT_GLOBAL_VAR Operation value stores
PUT_CONST Operation
PUT_CVAR Operation
PUT_FIELD Operation
LINE_NUM Operation debugging ops
TRACE Operation
COVERAGE Operation
BINDING_LOAD Operation JRuby-impl instructions
BINDING_STORE Operation
BUILD_BACKREF Operation
BUILD_NTHREF Operation
BUILD_COMPOUND_ARRAY Operation
BUILD_COMPOUND_STRING Operation
BUILD_DREGEXP Operation
BUILD_RANGE Operation
BUILD_SPLAT Operation
CHECK_ARGS_ARRAY_ARITY Operation
CHECK_ARITY Operation
CHECK_FOR_LJE Operation
CLASS_VAR_MODULE Operation
COPY Operation
GET_ENCODING Operation
INT_MATH Operation
AS_FIXNUM Operation
MASGN_OPT Operation
MASGN_REQD Operation
MASGN_REST Operation
RAISE_ARGUMENT_ERROR Operation
RAISE_REQUIRED_KEYWORD_ARGUMENT_ERROR Operation
RECORD_END_BLOCK Operation
RESCUE_EQQ Operation
RUNTIME_HELPER Operation
SET_CAPTURED_VAR Operation
THREAD_POLL Operation
THROW Operation
TO_ARY Operation
BLOCK_GIVEN Operation
GET_ERROR_INFO Operation
RESTORE_ERROR_INFO Operation
BOX_FIXNUM Operation
BOX_FLOAT Operation
BOX_BOOLEAN Operation
UNBOX_FIXNUM Operation
UNBOX_FLOAT Operation
UNBOX_BOOLEAN Operation
IADD Operation
ISUB Operation
IMUL Operation
IDIV Operation
ILT Operation
IGT Operation
IOR Operation
IAND Operation
IXOR Operation
ISHL Operation
ISHR Operation
IEQ Operation
FADD Operation
FSUB Operation
FMUL Operation
FDIV Operation
FLT Operation
FGT Operation
FEQ Operation
MODULE_GUARD Operation Other JRuby internal primitives for optimizations
PUSH_METHOD_FRAME Operation
PUSH_BACKREF_FRAME Operation
PUSH_METHOD_BINDING Operation
POP_METHOD_FRAME Operation
POP_BACKREF_FRAME Operation
PUSH_BLOCK_FRAME Operation
PUSH_BLOCK_BINDING Operation
POP_BLOCK_FRAME Operation
POP_BINDING Operation
SAVE_BINDING_VIZ Operation
RESTORE_BINDING_VIZ Operation
TOGGLE_BACKTRACE Operation
UPDATE_BLOCK_STATE Operation
PREPARE_BLOCK_ARGS Operation
PREPARE_SINGLE_BLOCK_ARG Operation
PREPARE_FIXED_BLOCK_ARGS Operation
PREPARE_NO_BLOCK_ARGS Operation

Fields

fieldtypenote
opClass OpClass

Class Methods

from_ordinal

Operation from_ordinal ( int value )
Java: fromOrdinal(int value)

value_of

Operation value_of ( String name )
Java: valueOf(String name)

values

Operation[] values ( )
Java: values()

Instance Methods

arg_receive?

boolean arg_receive? ( )
Java: isArgReceive() · also: is_arg_receive

book_keeping_op?

boolean book_keeping_op? ( )
Java: isBookKeepingOp() · also: is_book_keeping_op

branch?

boolean branch? ( )
Java: isBranch() · also: is_branch

call?

boolean call? ( )
Java: isCall() · also: is_call

can_raise_exception

boolean can_raise_exception ( )
Java: canRaiseException()

debug_op?

boolean debug_op? ( )
Java: isDebugOp() · also: is_debug_op

ends_basic_block

boolean ends_basic_block ( )
Java: 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.

exception?

boolean exception? ( )
Java: isException() · also: is_exception

has_side_effects?

boolean has_side_effects? ( )
Java: hasSideEffects() · also: has_side_effects

inline_unfriendly

boolean inline_unfriendly ( )
Java: inlineUnfriendly()

load?

boolean load? ( )
Java: isLoad() · also: is_load

modifies_code

boolean modifies_code ( )
Java: modifiesCode()

return?

boolean return? ( )
Java: isReturn() · also: is_return

starts_basic_block

boolean starts_basic_block ( )
Java: startsBasicBlock()

store?

boolean store? ( )
Java: isStore() · also: is_store

to_string

String to_string ( )
Java: toString()

transfers_control

boolean transfers_control ( )
Java: transfersControl()

Inherited

from Enum

compare_to

int compare_to ( E arg0 )
Java: compareTo(E arg0)

declaring_class

Class<E> declaring_class ( )
Java: getDeclaringClass() · also: get_declaring_class

describe_constable

Optional<Enum.EnumDesc<E>> describe_constable ( )
Java: describeConstable()

equals

boolean equals ( Object arg0 )
Java: equals(Object arg0)

hash_code

int hash_code ( )
Java: hashCode()

name

String name ( )
Java: name()

ordinal

int ordinal ( )
Java: ordinal()