This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
struct | iseq_insn_info_entry |
struct | iseq_catch_table_entry |
struct | iseq_compile_data_storage |
struct | iseq_compile_data |
Defines | |
#define | ISEQ_TYPE_TOP INT2FIX(1) |
#define | ISEQ_TYPE_METHOD INT2FIX(2) |
#define | ISEQ_TYPE_BLOCK INT2FIX(3) |
#define | ISEQ_TYPE_CLASS INT2FIX(4) |
#define | ISEQ_TYPE_RESCUE INT2FIX(5) |
#define | ISEQ_TYPE_ENSURE INT2FIX(6) |
#define | ISEQ_TYPE_EVAL INT2FIX(7) |
#define | ISEQ_TYPE_MAIN INT2FIX(8) |
#define | ISEQ_TYPE_DEFINED_GUARD INT2FIX(9) |
#define | CATCH_TYPE_RESCUE ((int)INT2FIX(1)) |
#define | CATCH_TYPE_ENSURE ((int)INT2FIX(2)) |
#define | CATCH_TYPE_RETRY ((int)INT2FIX(3)) |
#define | CATCH_TYPE_BREAK ((int)INT2FIX(4)) |
#define | CATCH_TYPE_REDO ((int)INT2FIX(5)) |
#define | CATCH_TYPE_NEXT ((int)INT2FIX(6)) |
#define | INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE (512) |
#define | DEFINED_IVAR INT2FIX(1) |
#define | DEFINED_IVAR2 INT2FIX(2) |
#define | DEFINED_GVAR INT2FIX(3) |
#define | DEFINED_CVAR INT2FIX(4) |
#define | DEFINED_CONST INT2FIX(5) |
#define | DEFINED_METHOD INT2FIX(6) |
#define | DEFINED_YIELD INT2FIX(7) |
#define | DEFINED_REF INT2FIX(8) |
#define | DEFINED_ZSUPER INT2FIX(9) |
#define | DEFINED_FUNC INT2FIX(10) |
Functions | |
VALUE | rb_iseq_compile_node (VALUE self, NODE *node) |
int | rb_iseq_translate_threaded_code (rb_iseq_t *iseq) |
VALUE | rb_iseq_build_from_ary (rb_iseq_t *iseq, VALUE locals, VALUE args, VALUE exception, VALUE body) |
VALUE | rb_iseq_load (VALUE data, VALUE parent, VALUE opt) |
st_table * | ruby_insn_make_insn_table (void) |
#define CATCH_TYPE_BREAK ((int)INT2FIX(4)) |
Definition at line 38 of file iseq.h.
Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), iseq_set_exception_table(), and vm_throw().
#define CATCH_TYPE_ENSURE ((int)INT2FIX(2)) |
Definition at line 36 of file iseq.h.
Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), and vm_exec().
#define CATCH_TYPE_NEXT ((int)INT2FIX(6)) |
Definition at line 40 of file iseq.h.
Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), iseq_set_exception_table(), and rb_iseq_compile_node().
#define CATCH_TYPE_REDO ((int)INT2FIX(5)) |
Definition at line 39 of file iseq.h.
Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), and rb_iseq_compile_node().
#define CATCH_TYPE_RESCUE ((int)INT2FIX(1)) |
Definition at line 35 of file iseq.h.
Referenced by catch_type(), defined_expr(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), and iseq_set_exception_table().
#define CATCH_TYPE_RETRY ((int)INT2FIX(3)) |
Definition at line 37 of file iseq.h.
Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), and iseq_compile_each().
#define DEFINED_CONST INT2FIX(5) |
#define DEFINED_CVAR INT2FIX(4) |
#define DEFINED_FUNC INT2FIX(10) |
#define DEFINED_GVAR INT2FIX(3) |
#define DEFINED_IVAR INT2FIX(1) |
#define DEFINED_METHOD INT2FIX(6) |
#define DEFINED_REF INT2FIX(8) |
#define DEFINED_YIELD INT2FIX(7) |
#define DEFINED_ZSUPER INT2FIX(9) |
#define INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE (512) |
#define ISEQ_TYPE_BLOCK INT2FIX(3) |
Definition at line 27 of file iseq.h.
Referenced by iseq_compile_each(), iseq_data_to_ary(), iseq_load(), iseq_set_arguments(), make_name_for_block(), rb_dvar_defined(), rb_iseq_compile_node(), and vm_throw().
#define ISEQ_TYPE_CLASS INT2FIX(4) |
Definition at line 28 of file iseq.h.
Referenced by iseq_data_to_ary(), iseq_load(), rb_iseq_compile_node(), set_relation(), vm_invoke_block(), and vm_throw().
#define ISEQ_TYPE_DEFINED_GUARD INT2FIX(9) |
Definition at line 33 of file iseq.h.
Referenced by defined_expr(), iseq_data_to_ary(), iseq_load(), and rb_iseq_compile_node().
#define ISEQ_TYPE_ENSURE INT2FIX(6) |
Definition at line 30 of file iseq.h.
Referenced by errinfo_place(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), rb_dvar_defined(), and rb_iseq_compile_node().
#define ISEQ_TYPE_EVAL INT2FIX(7) |
Definition at line 31 of file iseq.h.
Referenced by iseq_compile_each(), iseq_data_to_ary(), iseq_load(), rb_dvar_defined(), rb_iseq_compile_node(), and rb_iseq_compile_with_option().
#define ISEQ_TYPE_MAIN INT2FIX(8) |
Definition at line 32 of file iseq.h.
Referenced by iseq_data_to_ary(), iseq_load(), rb_dvar_defined(), rb_iseq_compile_node(), and rb_iseq_new_main().
#define ISEQ_TYPE_METHOD INT2FIX(2) |
Definition at line 26 of file iseq.h.
Referenced by iseq_data_to_ary(), iseq_load(), rb_iseq_compile_node(), set_relation(), vm_invoke_block(), and vm_throw().
#define ISEQ_TYPE_RESCUE INT2FIX(5) |
Definition at line 29 of file iseq.h.
Referenced by errinfo_place(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), rb_dvar_defined(), and rb_iseq_compile_node().
#define ISEQ_TYPE_TOP INT2FIX(1) |
Definition at line 25 of file iseq.h.
Referenced by Init_VM(), iseq_data_to_ary(), iseq_load(), iseq_s_compile_file(), rb_iseq_compile_node(), rb_iseq_compile_with_option(), rb_iseq_new_top(), rb_vm_call_cfunc(), set_relation(), and vm_set_top_stack().
VALUE rb_iseq_build_from_ary | ( | rb_iseq_t * | iseq, | |
VALUE | locals, | |||
VALUE | args, | |||
VALUE | exception, | |||
VALUE | body | |||
) |
Definition at line 5365 of file compile.c.
References ALLOC_N, rb_iseq_struct::arg_block, rb_iseq_struct::arg_opt_table, rb_iseq_struct::arg_opts, rb_iseq_struct::arg_post_len, rb_iseq_struct::arg_post_start, rb_iseq_struct::arg_rest, rb_iseq_struct::arg_simple, rb_iseq_struct::arg_size, rb_iseq_struct::argc, CHECK_ARRAY, CHECK_INTEGER(), CHECK_SYMBOL, DECL_ANCHOR, FIX2INT, FIX2LONG, FIXNUM_P, INIT_ANCHOR, iseq_build_body(), iseq_build_exception(), rb_iseq_struct::local_size, rb_iseq_struct::local_table, rb_iseq_struct::local_table_size, NUM2INT, RARRAY_LEN, RARRAY_LENINT, RARRAY_PTR, rb_ary_entry(), register_label(), rb_iseq_struct::self, st_init_numtable, and SYM2ID.
Referenced by iseq_load().
Definition at line 423 of file compile.c.
References ADD_CATCH_ENTRY, ADD_INSN, ADD_INSN1, ADD_INSN2, ADD_LABEL, ADD_TRACE, CATCH_TYPE_NEXT, CATCH_TYPE_REDO, COMPILE, rb_iseq_struct::compile_data, COMPILE_POPED, DECL_ANCHOR, ensure_range::end, ERROR_ARGS, FIX2INT, GetISeqPtr, INIT_ANCHOR, INT2FIX, iseq_set_arguments(), iseq_set_exception_local_table(), iseq_set_local_table(), iseq_setup(), ISEQ_TYPE_BLOCK, ISEQ_TYPE_CLASS, ISEQ_TYPE_DEFINED_GUARD, ISEQ_TYPE_ENSURE, ISEQ_TYPE_EVAL, ISEQ_TYPE_MAIN, ISEQ_TYPE_METHOD, ISEQ_TYPE_RESCUE, ISEQ_TYPE_TOP, iseq_compile_data::last_line, nd_line, nd_type, NEW_LABEL, NODE_SCOPE, rb_bug(), rb_compile_error(), RUBY_EVENT_CALL, RUBY_EVENT_CLASS, RUBY_EVENT_END, RUBY_EVENT_RETURN, and rb_iseq_struct::type.
Referenced by rb_iseq_new_with_bopt_and_opt().
Definition at line 531 of file iseq.c.
References iseq_load(), and rb_cISeq.
Referenced by iseq_build_body(), and iseq_build_exception().
int rb_iseq_translate_threaded_code | ( | rb_iseq_t * | iseq | ) |
Definition at line 511 of file compile.c.
References ALLOC_N, COMPILE_OK, rb_iseq_struct::iseq, rb_iseq_struct::iseq_encoded, rb_iseq_struct::iseq_size, len, MEMCPY, and rb_vm_get_insns_address_table().
Referenced by iseq_setup(), and rb_iseq_build_for_ruby2cext().
struct st_table* ruby_insn_make_insn_table | ( | void | ) |