Ruby
2.5.0dev(2017-10-22revision60238)
|
Go to the source code of this file.
Data Structures | |
struct | rb_compile_option_struct |
struct | iseq_line_info_entry |
struct | iseq_catch_table_entry |
struct | iseq_compile_data_storage |
struct | iseq_compile_data |
Macros | |
#define | ISEQ_MAJOR_VERSION 2 |
#define | ISEQ_MINOR_VERSION 3 |
#define | rb_iseq_t rb_iseq_t |
#define | ISEQ_MARK_ARY(iseq) (iseq)->body->mark_ary |
#define | ISEQ_COVERAGE(iseq) RARRAY_AREF(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_COVERAGE) |
#define | ISEQ_COVERAGE_SET(iseq, cov) RARRAY_ASET(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_COVERAGE, cov) |
#define | ISEQ_LINE_COVERAGE(iseq) RARRAY_AREF(ISEQ_COVERAGE(iseq), COVERAGE_INDEX_LINES) |
#define | ISEQ_BRANCH_COVERAGE(iseq) RARRAY_AREF(ISEQ_COVERAGE(iseq), COVERAGE_INDEX_BRANCHES) |
#define | ISEQ_METHOD_COVERAGE(iseq) RARRAY_AREF(ISEQ_COVERAGE(iseq), COVERAGE_INDEX_METHODS) |
#define | ISEQ_FLIP_CNT(iseq) FIX2INT(RARRAY_AREF(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_FLIP_CNT)) |
#define | ISEQ_COMPILE_DATA(iseq) (iseq)->aux.compile_data |
#define | ISEQ_NOT_LOADED_YET IMEMO_FL_USER1 |
#define | INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE (512) |
#define | SIZEOF_ISEQ_COMPILE_DATA_STORAGE (sizeof(struct iseq_compile_data_storage) - 1) |
Typedefs | |
typedef struct rb_iseq_struct | rb_iseq_t |
#define ISEQ_BRANCH_COVERAGE | ( | iseq | ) | RARRAY_AREF(ISEQ_COVERAGE(iseq), COVERAGE_INDEX_BRANCHES) |
#define ISEQ_COMPILE_DATA | ( | iseq | ) | (iseq)->aux.compile_data |
Definition at line 80 of file iseq.h.
Referenced by rb_iseq_mark().
#define ISEQ_COVERAGE | ( | iseq | ) | RARRAY_AREF(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_COVERAGE) |
Definition at line 48 of file iseq.h.
Referenced by iseq_ibf_dump(), and rb_iseq_coverage().
#define ISEQ_COVERAGE_SET | ( | iseq, | |
cov | |||
) | RARRAY_ASET(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_COVERAGE, cov) |
#define ISEQ_FLIP_CNT | ( | iseq | ) | FIX2INT(RARRAY_AREF(ISEQ_MARK_ARY(iseq), ISEQ_MARK_ARY_FLIP_CNT)) |
#define ISEQ_LINE_COVERAGE | ( | iseq | ) | RARRAY_AREF(ISEQ_COVERAGE(iseq), COVERAGE_INDEX_LINES) |
#define ISEQ_MARK_ARY | ( | iseq | ) | (iseq)->body->mark_ary |
Definition at line 46 of file iseq.h.
Referenced by rb_iseq_add_mark_object().
#define ISEQ_METHOD_COVERAGE | ( | iseq | ) | RARRAY_AREF(ISEQ_COVERAGE(iseq), COVERAGE_INDEX_METHODS) |
#define ISEQ_NOT_LOADED_YET IMEMO_FL_USER1 |
Definition at line 88 of file iseq.h.
Referenced by rb_iseq_mark().
#define SIZEOF_ISEQ_COMPILE_DATA_STORAGE (sizeof(struct iseq_compile_data_storage) - 1) |
typedef struct rb_iseq_struct rb_iseq_t |
enum defined_type |
enum iseq_mark_ary_index |
void ibf_load_iseq_complete | ( | rb_iseq_t * | iseq | ) |
Definition at line 8995 of file compile.c.
References rb_iseq_struct::aux, ibf_load::iseq, rb_iseq_struct::loader, and RTYPEDDATA_DATA.
Definition at line 8936 of file compile.c.
References rb_iseq_struct::body, ISEQ_COVERAGE, rb_iseq_constant_body::local_iseq, NULL, rb_iseq_constant_body::parent_iseq, rb_eRuntimeError, rb_raise(), RTEST, and TypedData_Make_Struct.
Definition at line 9112 of file compile.c.
References ibf_load::iseq, and TypedData_Make_Struct.
Definition at line 9126 of file compile.c.
References TypedData_Make_Struct.
PACKED_STRUCT_UNALIGNED | ( | struct iseq_catch_table { unsigned int size;struct iseq_catch_table_entry entries[1];} | ) |
Definition at line 704 of file iseq.c.
References rb_iseq_realpath().
Definition at line 280 of file iseq.c.
References ISEQ_MARK_ARY, and rb_ary_push().
Definition at line 716 of file iseq.c.
References rb_iseq_location_struct::base_label, rb_iseq_struct::body, and rb_iseq_constant_body::location.
void rb_iseq_build_from_ary | ( | rb_iseq_t * | iseq, |
VALUE | misc, | ||
VALUE | locals, | ||
VALUE | args, | ||
VALUE | exception, | ||
VALUE | body | ||
) |
Definition at line 7385 of file compile.c.
References ALLOC_N, rb_iseq_struct::body, CHECK_SYMBOL, Data_Wrap_Struct, DECL_ANCHOR, FIX2LONG, FIXNUM_P, rb_iseq_constant_body::flags, ID2SYM, INIT_ANCHOR, INT_PARAM, len, rb_iseq_constant_body::local_table, rb_iseq_constant_body::local_table_size, NULL, rb_iseq_constant_body::param, RARRAY_AREF, RARRAY_LENINT, rb_hash_aref(), rb_intern, RB_TYPE_P, st_free_table, st_init_numtable, SYM, SYM2ID, T_ARRAY, and TRUE.
RUBY_SYMBOL_EXPORT_BEGIN VALUE rb_iseq_compile_node | ( | rb_iseq_t * | iseq, |
NODE * | node | ||
) |
Definition at line 611 of file compile.c.
References COMPILE, DECL_ANCHOR, and INIT_ANCHOR.
VALUE rb_iseq_defined_string | ( | enum defined_type | type | ) |
Definition at line 2211 of file iseq.c.
References GET_VM, numberof, OBJ_FREEZE, rb_gc_register_mark_object(), rb_str_new_cstr(), and ruby_xcalloc().
Definition at line 722 of file iseq.c.
References rb_iseq_struct::body, rb_iseq_location_struct::first_lineno, and rb_iseq_constant_body::location.
Definition at line 710 of file iseq.c.
References rb_iseq_struct::body, rb_iseq_location_struct::label, and rb_iseq_constant_body::location.
Definition at line 794 of file vm.c.
Referenced by rb_iseqw_local_variables().
void rb_iseq_make_compile_option | ( | struct rb_compile_option_struct * | option, |
VALUE | opt | ||
) |
Definition at line 401 of file iseq.c.
References Check_Type, and T_HASH.
Definition at line 728 of file iseq.c.
References rb_iseq_location_struct::base_label, rb_iseq_struct::body, rb_iseq_constant_body::local_iseq, rb_iseq_constant_body::location, Qnil, and rb_iseq_constant_body::type.
Definition at line 753 of file compile.c.
Referenced by rb_vmdebug_debug_print_pre().
Definition at line 2125 of file iseq.c.
References rb_iseq_constant_body::block_start, rb_iseq_struct::body, CONST_ID, rb_iseq_constant_body::flags, ID2SYM, key, rb_iseq_constant_body::keyword, rb_iseq_constant_body::lead_num, rb_iseq_constant_body::opt_num, rb_iseq_constant_body::param, PARAM, PARAM_ID, PARAM_TYPE, rb_iseq_constant_body::post_num, rb_iseq_constant_body::post_start, Qnil, rb_ary_new2, rb_ary_push(), rb_id2str, rb_iseq_constant_body::rest_start, and rb_iseq_constant_body::size.
int rb_iseq_translate_threaded_code | ( | rb_iseq_t * | iseq | ) |
Definition at line 719 of file compile.c.
References rb_iseq_struct::body, COMPILE_OK, rb_iseq_constant_body::iseq_encoded, rb_iseq_constant_body::iseq_size, len, rb_bug(), and rb_vm_get_insns_address_table().
int rb_iseqw_line_trace_each | ( | VALUE | iseqval, |
int(*)(int line, rb_event_flag_t *events_ptr, void *d) | func, | ||
void * | data | ||
) |
Definition at line 2255 of file iseq.c.
Referenced by rb_iseqw_line_trace_specify().
Definition at line 2354 of file iseq.c.
References NUM2INT, set_specifc_data::pos, set_specifc_data::prev, Qfalse, Qtrue, rb_eTypeError, rb_iseqw_line_trace_each(), rb_raise(), and set_specifc_data::set.
Definition at line 1086 of file proc.c.
References rb_proc_t::block, GetProcPtr, rb_proc_t::is_lambda, and rb_block::proc.
struct st_table* ruby_insn_make_insn_table | ( | void | ) |