|
Ruby
2.7.2p137(2020-10-01revision5445e0435260b449decf2ac16f9d09bae3cafe72)
|
Go to the source code of this file.
Data Structures | |
| struct | iseq_compile_data |
| struct | rb_compile_option_struct |
| struct | iseq_insn_info_entry |
| struct | iseq_catch_table_entry |
| struct | iseq_compile_data_storage |
Typedefs | |
| typedef struct rb_iseq_struct | rb_iseq_t |
Variables | |
| RUBY_EXTERN const int | ruby_api_version [] |
| const ID | rb_iseq_shared_exc_local_tbl [] |
| #define ISEQ_BRANCH_COVERAGE | ( | iseq | ) | RARRAY_AREF(ISEQ_COVERAGE(iseq), COVERAGE_INDEX_BRANCHES) |
| #define ISEQ_COVERAGE_SET | ( | iseq, | |
| cov | |||
| ) | RB_OBJ_WRITE(iseq, &iseq->body->variable.coverage, cov) |
| #define ISEQ_EXECUTABLE_P | ( | iseq | ) | (FL_TEST_RAW((iseq), ISEQ_NOT_LOADED_YET | ISEQ_USE_COMPILE_DATA) == 0) |
| #define ISEQ_FLIP_CNT | ( | iseq | ) | (iseq)->body->variable.flip_count |
| #define ISEQ_LINE_COVERAGE | ( | iseq | ) | RARRAY_AREF(ISEQ_COVERAGE(iseq), COVERAGE_INDEX_LINES) |
| #define ISEQ_MAJOR_VERSION ((unsigned int)ruby_api_version[0]) |
| #define ISEQ_MARKABLE_ISEQ IMEMO_FL_USER4 |
| #define ISEQ_MINOR_VERSION ((unsigned int)ruby_api_version[1]) |
| #define ISEQ_NOT_LOADED_YET IMEMO_FL_USER1 |
| #define ISEQ_PC2BRANCHINDEX | ( | iseq | ) | iseq->body->variable.pc2branchindex |
| #define ISEQ_PC2BRANCHINDEX_SET | ( | iseq, | |
| h | |||
| ) | RB_OBJ_WRITE(iseq, &iseq->body->variable.pc2branchindex, h) |
| #define ISEQ_TRACE_EVENTS |
| #define ISEQ_TRANSLATED IMEMO_FL_USER3 |
| #define ISEQ_USE_COMPILE_DATA IMEMO_FL_USER2 |
| typedef struct rb_iseq_struct rb_iseq_t |
| enum defined_type |
| PACKED_STRUCT_UNALIGNED | ( | struct iseq_catch_table { unsigned int size;struct iseq_catch_table_entry entries[FLEX_ARY_LEN];} | ) |
References FLEX_ARY_LEN, and size.
| void rb_ibf_load_iseq_complete | ( | rb_iseq_t * | iseq | ) |
Definition at line 11437 of file compile.c.
References rb_iseq_struct::aux, ibf_load::iseq, rb_iseq_struct::loader, and RTYPEDDATA_DATA.
Definition at line 1039 of file iseq.c.
References rb_iseq_realpath().
| int rb_iseq_add_local_tracepoint_recursively | ( | const rb_iseq_t * | iseq, |
| rb_event_flag_t | turnon_events, | ||
| VALUE | tpval, | ||
| unsigned int | target_line | ||
| ) |
Definition at line 3206 of file iseq.c.
References trace_set_local_events_struct::n, trace_set_local_events_struct::target_line, trace_set_local_events_struct::tpval, and trace_set_local_events_struct::turnon_events.
Definition at line 1051 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 9250 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_mark_set(), RB_TYPE_P, st_free_table(), st_init_numtable(), SYM, SYM2ID, T_ARRAY, and TRUE.
| void rb_iseq_code_location | ( | const rb_iseq_t * | iseq, |
| int * | first_lineno, | ||
| int * | first_column, | ||
| int * | last_lineno, | ||
| int * | last_column | ||
| ) |
Definition at line 1076 of file iseq.c.
References rb_code_location_struct::beg_pos, rb_iseq_struct::body, rb_iseq_location_struct::code_location, rb_code_position_struct::column, rb_code_location_struct::end_pos, rb_code_position_struct::lineno, and rb_iseq_constant_body::location.
| VALUE rb_iseq_compile_callback | ( | rb_iseq_t * | iseq, |
| const struct rb_iseq_new_with_callback_callback_func * | ifunc | ||
| ) |
Definition at line 630 of file compile.c.
References ADD_INSN, rb_iseq_new_with_callback_callback_func::data, DECL_ANCHOR, rb_iseq_new_with_callback_callback_func::func, and INIT_ANCHOR.
| RUBY_SYMBOL_EXPORT_BEGIN VALUE rb_iseq_compile_node | ( | rb_iseq_t * | iseq, |
| const NODE * | node | ||
| ) |
Definition at line 644 of file compile.c.
References DECL_ANCHOR, and INIT_ANCHOR.
| struct rb_iseq_constant_body* rb_iseq_constant_body_alloc | ( | void | ) |
Definition at line 433 of file iseq.c.
References rb_iseq_constant_body::iseq_unique_id, and ZALLOC.
| VALUE rb_iseq_defined_string | ( | enum defined_type | type | ) |
Definition at line 3033 of file iseq.c.
References GET_VM, numberof, OBJ_FREEZE, rb_gc_register_mark_object(), rb_str_new_cstr(), ruby_xcalloc(), and str.
Referenced by rb_insn_operand_intern().
Definition at line 1057 of file iseq.c.
References rb_iseq_struct::body, rb_iseq_location_struct::first_lineno, and rb_iseq_constant_body::location.
Definition at line 11379 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, str, and TypedData_Make_Struct.
Definition at line 11603 of file compile.c.
References ibf_load::iseq, ibf_load::loader_obj, and TypedData_Make_Struct.
Definition at line 11617 of file compile.c.
References ibf_load::iseq, ibf_load::loader_obj, and TypedData_Make_Struct.
Definition at line 11631 of file compile.c.
References ibf_load::loader_obj, and TypedData_Make_Struct.
| void rb_iseq_init_trace | ( | rb_iseq_t * | iseq | ) |
Definition at line 623 of file iseq.c.
References rb_iseq_struct::aux, rb_iseq_struct::exec, ISEQ_TRACE_EVENTS, rb_iseq_trace_set(), and ruby_vm_event_enabled_global_flags.
Definition at line 595 of file iseq.c.
References rb_iseq_struct::body, if(), rb_iseq_constant_body::insns_info, rb_iseq_constant_body::iseq_size, rb_iseq_constant_body::iseq_insn_info::positions, ruby_xfree(), size, rb_iseq_constant_body::iseq_insn_info::size, and rb_iseq_constant_body::iseq_insn_info::succ_index_table.
Definition at line 1045 of file iseq.c.
References rb_iseq_struct::body, rb_iseq_location_struct::label, and rb_iseq_constant_body::location.
Definition at line 1761 of file iseq.c.
Referenced by rb_iseq_disasm_insn().
Definition at line 847 of file iseq.c.
References rb_check_funcall(), rb_cISeq, rb_intern, RBASIC_CLASS, and SPECIAL_CONST_P.
Definition at line 849 of file vm.c.
Referenced by rb_iseqw_local_variables().
| void rb_iseq_mark_insn_storage | ( | struct iseq_compile_data_storage * | arena | ) |
Definition at line 9198 of file compile.c.
References iseq_compile_data_storage::buff, if(), iseq_insn_data::insn_id, iseq_compile_data_storage::next, OPERAND_AT, iseq_insn_data::operands, iseq_compile_data_storage::pos, rb_gc_mark(), size, iseq_compile_data_storage::size, SPECIAL_CONST_P, and types.
Definition at line 1063 of file iseq.c.
References rb_iseq_location_struct::base_label, rb_iseq_struct::body, rb_iseq_constant_body::ISEQ_TYPE_METHOD, rb_iseq_constant_body::local_iseq, rb_iseq_constant_body::location, Qnil, and rb_iseq_constant_body::type.
Definition at line 778 of file compile.c.
Referenced by rb_vmdebug_debug_print_pre().
Definition at line 2939 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, PARAM, rb_iseq_constant_body::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.
| void rb_iseq_remove_coverage_all | ( | void | ) |
Definition at line 1110 of file iseq.c.
References rb_objspace_each_objects().
Referenced by rb_reset_coverages().
Definition at line 3262 of file iseq.c.
References trace_clear_local_events_struct::n, and trace_clear_local_events_struct::tpval.
| void rb_iseq_trace_set | ( | const rb_iseq_t * | iseq, |
| rb_event_flag_t | turnon_events | ||
| ) |
Definition at line 3273 of file iseq.c.
References rb_iseq_struct::aux, rb_iseq_struct::body, rb_iseq_struct::exec, rb_iseq_constant_body::iseq_encoded, ISEQ_EXECUTABLE_P, rb_iseq_constant_body::iseq_size, and rb_iseq_event_flags().
Referenced by rb_iseq_init_trace().
| void rb_iseq_trace_set_all | ( | rb_event_flag_t | turnon_events | ) |
Definition at line 3319 of file iseq.c.
References rb_objspace_each_objects().
Definition at line 1194 of file proc.c.
References GetProcPtr, and rb_block::proc.
Referenced by rb_resolve_me_location().
| RUBY_EXTERN const int ruby_api_version[] |