Go to the source code of this file.
| #define DEFAULT_SPECIAL_VAR_COUNT 2 |
| #define INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE (512) |
| enum defined_type |
| void rb_iseq_add_mark_object | ( | rb_iseq_t * | iseq, | |
| VALUE | obj | |||
| ) |
Definition at line 245 of file iseq.c.
References rb_iseq_struct::mark_ary, rb_ary_push(), rb_ary_tmp_new(), RB_OBJ_WRITE, RBASIC_CLEAR_CLASS, RTEST, and rb_iseq_struct::self.
Referenced by iseq_add_mark_object().
| VALUE rb_iseq_build_from_ary | ( | rb_iseq_t * | iseq, | |
| VALUE | locals, | |||
| VALUE | args, | |||
| VALUE | exception, | |||
| VALUE | body | |||
| ) |
Definition at line 5885 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_from_ary_body(), iseq_build_from_ary_exception(), rb_iseq_struct::local_size, rb_iseq_struct::local_table, rb_iseq_struct::local_table_size, NUM2INT, RARRAY_AREF, RARRAY_LEN, RARRAY_LENINT, rb_ary_entry(), register_label(), rb_iseq_struct::self, st_init_numtable(), SYM2ID, and VALUE.
Referenced by iseq_load().
| RUBY_SYMBOL_EXPORT_BEGIN VALUE rb_iseq_compile_node | ( | VALUE | self, | |
| NODE * | node | |||
| ) |
Definition at line 459 of file compile.c.
References ADD_CATCH_ENTRY, ADD_INSN, ADD_INSN1, ADD_INSN2, ADD_LABEL, ADD_TRACE, 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_compile_data::last_line, nd_line, nd_type, NEW_LABEL, node, NODE_IFUNC, NODE_SCOPE, rb_bug(), rb_compile_error, RUBY_EVENT_B_CALL, RUBY_EVENT_B_RETURN, RUBY_EVENT_CALL, RUBY_EVENT_CLASS, RUBY_EVENT_END, RUBY_EVENT_RETURN, rb_iseq_struct::type, and validate_labels().
Referenced by rb_iseq_new_with_bopt_and_opt().
| VALUE rb_iseq_defined_string | ( | enum defined_type | type | ) |
Definition at line 2039 of file iseq.c.
References GET_VM, numberof, OBJ_FREEZE, rb_str_new_cstr(), ruby_xcalloc(), and VALUE.
Referenced by defined_expr().
| unsigned int rb_iseq_line_no | ( | const rb_iseq_t * | iseq, | |
| size_t | pos | |||
| ) |
| VALUE rb_iseq_line_trace_all | ( | VALUE | iseqval | ) |
Definition at line 2186 of file iseq.c.
References collect_trace(), rb_ary_new(), rb_iseq_line_trace_each(), result, and VALUE.
Referenced by Init_ISeq().
| int rb_iseq_line_trace_each | ( | VALUE | iseqval, | |
| int(*)(int line, rb_event_flag_t *events_ptr, void *d) | func, | |||
| void * | data | |||
| ) |
Definition at line 2139 of file iseq.c.
References iseq_catch_table_entry::cont, find_line_no(), GetISeqPtr, if(), iseq_catch_table_entry::iseq, RUBY_EVENT_LINE, RUBY_EVENT_SPECIFIED_LINE, and VALUE.
Referenced by rb_iseq_line_trace_all(), and rb_iseq_line_trace_specify().
| VALUE rb_iseq_line_trace_specify | ( | VALUE | iseqval, | |
| VALUE | pos, | |||
| VALUE | set | |||
| ) |
Definition at line 2233 of file iseq.c.
References line_trace_specify(), NUM2INT, set_specifc_data::pos, set_specifc_data::prev, Qfalse, Qtrue, rb_eTypeError, rb_iseq_line_trace_each(), rb_raise(), and set_specifc_data::set.
Referenced by Init_ISeq().
| VALUE rb_iseq_load | ( | VALUE | data, | |
| VALUE | parent, | |||
| VALUE | opt | |||
| ) |
Definition at line 583 of file iseq.c.
References iseq_load(), and rb_cISeq.
Referenced by iseq_build_from_ary_exception(), and iseq_build_load_iseq().
| VALUE rb_iseq_parameters | ( | const rb_iseq_t * | iseq, | |
| int | is_proc | |||
| ) |
Definition at line 1953 of file iseq.c.
References args, CONST_ID, ID2SYM, iseq_catch_table_entry::iseq, key, PARAM, PARAM_ID, PARAM_TYPE, Qnil, rb_ary_new2, rb_ary_push(), rb_id2str(), and VALUE.
Referenced by rb_method_parameters(), and rb_proc_parameters().
| int rb_iseq_translate_threaded_code | ( | rb_iseq_t * | iseq | ) |
Definition at line 561 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, rb_vm_get_insns_address_table(), and VALUE.
Referenced by iseq_setup(), and rb_iseq_build_for_ruby2cext().
| rb_iseq_t* rb_method_get_iseq | ( | VALUE | body | ) |
Definition at line 2136 of file proc.c.
References method_get_def(), and method_get_iseq().
Referenced by iseq_s_of(), rb_method_parameters(), and rb_proc_get_iseq().
| rb_iseq_t* rb_proc_get_iseq | ( | VALUE | proc, | |
| int * | is_proc | |||
| ) |
Definition at line 883 of file proc.c.
References rb_proc_t::block, GetProcPtr, rb_proc_t::is_lambda, IS_METHOD_PROC_NODE, rb_block_struct::iseq, node, rb_method_get_iseq(), and RUBY_VM_NORMAL_ISEQ_P.
Referenced by rb_method_entry_make().
| struct st_table* ruby_insn_make_insn_table | ( | void | ) |
1.4.7