Ruby
1.9.3p547(2014-05-14revision45962)
|
Go to the source code of this file.
Data Structures | |
struct | rescue_funcall_args |
struct | iter_method_arg |
Macros | |
#define | NOEX_OK NOEX_NOSUPER |
#define | type_case(t) case t: return #t; |
#define | NOEX_MISSING 0x80 |
Typedefs | |
typedef enum call_type | call_type |
Enumerations | |
enum | call_type { CALL_PUBLIC, CALL_FCALL, CALL_VCALL, CALL_TYPE_MAX } |
#define NOEX_MISSING 0x80 |
Definition at line 503 of file vm_eval.c.
Referenced by method_missing(), raise_method_missing(), and rb_raise_method_missing().
#define NOEX_OK NOEX_NOSUPER |
Definition at line 208 of file vm_eval.c.
Referenced by check_funcall(), rb_call0(), and rb_method_call_status().
#define type_case | ( | t | ) | case t: return #t; |
Referenced by rb_type_str().
enum call_type |
Definition at line 267 of file vm_eval.c.
References argc, rescue_funcall_args::argc, args, argv, rescue_funcall_args::argv, CALL_FCALL, check_funcall_exec(), check_funcall_failed(), CLASS_OF, rb_method_entry_struct::flag, GET_THREAD, ID2SYM, idRespond_to, rb_thread_struct::method_missing_reason, NOEX_BASIC, NOEX_OK, Qtrue, Qundef, rb_eNoMethodError, rb_method_basic_definition_p(), rb_method_call_status(), rb_method_entry(), rb_method_entry_arity(), rb_rescue2(), rb_search_method_entry(), rescue_funcall_args::recv, RTEST, stack_check(), rescue_funcall_args::sym, and vm_call0().
Referenced by rb_check_funcall().
|
static |
Definition at line 247 of file vm_eval.c.
References rescue_funcall_args::argc, rescue_funcall_args::argv, new_args, RARRAY_PTR, rb_ary_new4(), rb_ary_unshift(), rb_funcall2(), RB_GC_GUARD, rescue_funcall_args::recv, and rescue_funcall_args::sym.
Referenced by check_funcall().
|
static |
Definition at line 258 of file vm_eval.c.
References Qundef, rb_exc_raise(), rb_respond_to(), rescue_funcall_args::recv, rescue_funcall_args::sym, and SYM2ID.
Referenced by check_funcall().
Definition at line 1106 of file vm_eval.c.
References eval_string_with_cref().
Referenced by rb_eval_cmd(), rb_eval_string(), and rb_f_eval().
|
static |
Definition at line 989 of file vm_eval.c.
References rb_thread_struct::base_block, rb_env_t::block, rb_thread_struct::cfp, CHECK_STACK_OVERFLOW, CONST_ID, env, rb_binding_t::env, rb_thread_struct::errinfo, EXEC_TAG, rb_binding_t::filename, GET_THREAD, GetBindingPtr, GetEnvPtr, GetISeqPtr, INT2FIX, rb_control_frame_t::iseq, rb_block_struct::iseq, JUMP_TAG, rb_binding_t::line_no, rb_iseq_struct::local_table_size, rb_thread_struct::mild_compile_error, NIL_P, NULL, OBJ_FROZEN, rb_thread_struct::parse_in_eval, POP_TAG, PUSH_TAG, Qnil, Qundef, RARRAY_LEN, RARRAY_PTR, rb_attr_get(), rb_cBinding, rb_eRuntimeError, rb_eTypeError, rb_exc_raise(), rb_get_backtrace(), rb_iseq_compile(), rb_iseq_disasm(), rb_ivar_set(), rb_obj_classname(), rb_obj_is_kind_of(), rb_raise(), rb_sourcefile, rb_sourceline(), rb_str_append(), rb_str_cat(), rb_str_dup(), rb_str_new2(), rb_str_update(), rb_vm_get_ruby_level_next_cfp(), rb_vm_make_env_object(), result, RSTRING_LEN, RSTRING_PTR, RUBY_VM_GET_BLOCK_PTR_IN_CFP, rb_block_struct::self, rb_iseq_struct::stack_max, StringValuePtr, T_ARRAY, T_STRING, TAG_RAISE, TYPE, vm_backtrace(), vm_exec(), and vm_set_eval_stack().
Referenced by eval_string(), and eval_under().
Definition at line 1263 of file vm_eval.c.
References eval_string_with_cref(), GET_THREAD, NOEX_PUBLIC, NULL, Qnil, rb_safe_level, SafeStringValue, StringValue, and vm_cref_push().
Referenced by specific_eval().
void Init_vm_eval | ( | void | ) |
Definition at line 1792 of file vm_eval.c.
References rb_add_method(), rb_cBasicObject, rb_cModule, rb_define_global_function(), rb_define_method(), rb_define_private_method(), rb_f_block_given_p(), rb_f_caller(), rb_f_catch(), rb_f_eval(), rb_f_local_variables(), rb_f_loop(), rb_f_public_send(), rb_f_send(), rb_f_throw(), rb_intern, rb_method_missing(), rb_mKernel, rb_mod_module_eval(), rb_mod_module_exec(), rb_obj_instance_eval(), rb_obj_instance_exec(), and VM_METHOD_TYPE_OPTIMIZED.
Referenced by Init_eval().
Definition at line 961 of file vm_eval.c.
References arg, iter_method_arg::argc, iter_method_arg::argv, CALL_FCALL, iter_method_arg::mid, iter_method_arg::obj, and rb_call().
Referenced by rb_block_call().
|
static |
Definition at line 832 of file vm_eval.c.
References Qnil, and rb_yield_0().
Referenced by rb_f_loop().
|
inlinestatic |
Definition at line 564 of file vm_eval.c.
References ALLOCA_N, CLASS_OF, GET_THREAD, ID2SYM, ID_ALLOCATOR, MEMCPY, rb_thread_struct::method_missing_reason, NOEX_MISSING, rb_thread_struct::passed_block, raise_method_missing(), RARRAY_PTR, rb_ary_clear(), rb_ary_tmp_new(), rb_class2name(), rb_eTypeError, rb_funcall2(), rb_method_basic_definition_p(), rb_raise(), and result.
Referenced by rb_call0(), vm_call0(), and vm_call_super().
NORETURN | ( | static void | raise_method_missingrb_thread_t *th, int argc, const VALUE *argv, VALUE obj, int call_status | ) |
Definition at line 1635 of file vm_eval.c.
References arg, FALSE, NIL_P, and RSTRING_PTR.
Referenced by rb_backtrace().
|
static |
Definition at line 506 of file vm_eval.c.
References args, rb_thread_struct::cfp, CLASS_OF, id, NOEX_MISSING, NOEX_PRIVATE, NOEX_PROTECTED, NOEX_SUPER, NOEX_VCALL, rb_ary_new4(), rb_class_new_instance(), rb_const_get(), rb_eArgError, rb_eNameError, rb_eNoMethodError, rb_exc_raise(), rb_funcall(), rb_intern, rb_method_basic_definition_p(), rb_name_err_mesg_new(), rb_raise(), rb_str_new2(), RUBY_VM_PREVIOUS_CONTROL_FRAME, stack_check(), SYM2ID, and SYMBOL_P.
Referenced by method_missing(), rb_method_missing(), and rb_raise_method_missing().
Calls a method.
recv | receiver of the method |
mid | an ID that represents the name of the method |
args | an Array object which contains method arguments |
Definition at line 617 of file vm_eval.c.
References ALLOCA_N, argc, argv, CALL_FCALL, MEMCPY, RARRAY_LENINT, RARRAY_PTR, and rb_call().
Referenced by ary2list(), ary2list2(), exec_callback(), ip_ruby_cmd_core(), and tk_do_callback().
void rb_backtrace | ( | void | ) |
Definition at line 1651 of file vm_eval.c.
References GET_THREAD, NULL, print_backtrace(), and vm_backtrace_each().
Referenced by load_lock(), and rescue_callback().
int rb_backtrace_each | ( | rb_backtrace_iter_func * | iter, |
void * | arg | ||
) |
Definition at line 1682 of file vm_eval.c.
References GET_THREAD, NULL, and vm_backtrace_each().
Referenced by rb_vm_bugreport().
VALUE rb_block_call | ( | VALUE | obj, |
ID | mid, | ||
int | argc, | ||
VALUE * | argv, | ||
VALUE(*)(ANYARGS) | bl_proc, | ||
VALUE | data2 | ||
) |
Definition at line 970 of file vm_eval.c.
References argc, iter_method_arg::argc, argv, iter_method_arg::argv, iterate_method(), iter_method_arg::mid, iter_method_arg::obj, and rb_iterate().
|
inlinestatic |
calls the specified method.
This function is called by functions in rb_call* family.
recv | receiver |
mid | an ID that represents the name of the method |
argc | the number of method arguments |
argv | a pointer to an array of method arguments |
scope |
Definition at line 454 of file vm_eval.c.
References Qundef, and rb_call0().
Referenced by iterate_method(), rb_apply(), rb_each(), rb_funcall(), rb_funcall2(), rb_funcall3(), rb_funcall_passing_block(), and rb_funcall_with_block().
|
inlinestatic |
calls the specified method.
This function is called by functions in rb_call* family.
recv | receiver of the method |
mid | an ID that represents the name of the method |
argc | the number of method arguments |
argv | a pointer to an array of method arguments |
scope | |
self | self in the caller. Qundef means the current control frame's self. |
Definition at line 225 of file vm_eval.c.
References GET_THREAD, method_missing(), NOEX_OK, rb_method_call_status(), rb_search_method_entry(), stack_check(), and vm_call0().
Referenced by rb_call(), and send_internal().
Definition at line 189 of file vm_eval.c.
References GET_THREAD, PASS_PASSED_BLOCK, and vm_call_super().
Referenced by esignal_init(), exit_initialize(), float_denominator(), float_numerator(), fole_initialize(), gzfile_error_inspect(), iconv_failure_initialize(), interrupt_init(), name_err_initialize(), ossl_ssl_initialize(), path_freeze(), path_taint(), path_untaint(), range_include(), range_max(), range_min(), strio_initialize(), and syserr_initialize().
Definition at line 1551 of file vm_eval.c.
References func, ID2SYM, rb_catch_obj(), rb_cObject, rb_intern, and rb_obj_alloc().
Definition at line 1558 of file vm_eval.c.
References rb_thread_struct::cfp, rb_thread_struct::errinfo, EXEC_TAG, GET_THREAD, JUMP_TAG, POP_TAG, PUSH_TAG, Qnil, rb_vm_tag::retval, RNODE, rb_vm_tag::tag, rb_thread_struct::tag, and TAG_THROW.
Referenced by rb_catch(), and rb_f_catch().
Definition at line 312 of file vm_eval.c.
References check_funcall().
Referenced by convert_type(), enumerator_rewind(), exc_equal(), flo_cmp(), make_exception(), num_exact(), path_initialize(), rb_dlptr_s_to_ptr(), rb_get_path_check(), and time_timespec().
VALUE rb_current_realfilepath | ( | void | ) |
Definition at line 1782 of file vm_eval.c.
References rb_thread_struct::cfp, rb_iseq_struct::filepath, GET_THREAD, rb_control_frame_t::iseq, Qnil, RUBY_VM_PREVIOUS_CONTROL_FRAME, and vm_get_ruby_level_caller_cfp().
Referenced by rb_f_require_relative().
Definition at line 983 of file vm_eval.c.
References CALL_FCALL, and rb_call().
Definition at line 1199 of file vm_eval.c.
References eval_string(), EXEC_TAG, JUMP_TAG, OBJ_TAINTED, POP_TAG, PUSH_TAG, Qnil, RARRAY_LENINT, RARRAY_PTR, rb_funcall2(), rb_intern, rb_safe_level, rb_set_safe_level_force(), rb_vm_top_self(), T_STRING, and TYPE.
Referenced by rb_trace_eval(), run_single_final(), signal_exec(), and tk_eval_cmd().
Definition at line 1160 of file vm_eval.c.
References eval_string(), Qnil, rb_str_new2(), and rb_vm_top_self().
Referenced by foletype_s_typelibs(), ip_ruby_eval(), and rb_eval_string_protect().
Definition at line 1166 of file vm_eval.c.
References rb_eval_string(), and rb_protect().
Referenced by ip_ruby_cmd_receiver_const_get(), and rb_eval_string_wrap().
Definition at line 1172 of file vm_eval.c.
References GET_THREAD, JUMP_TAG, rb_eval_string_protect(), rb_extend_object(), rb_module_new(), rb_obj_clone(), rb_vm_top_self(), rb_thread_struct::top_self, and rb_thread_struct::top_wrapper.
VALUE rb_f_block_given_p | ( | void | ) |
Definition at line 1765 of file vm_eval.c.
References rb_thread_struct::cfp, GC_GUARDED_PTR_REF, GET_THREAD, rb_control_frame_t::lfp, Qfalse, Qtrue, RUBY_VM_PREVIOUS_CONTROL_FRAME, and vm_get_ruby_level_caller_cfp().
Referenced by Init_vm_eval().
Definition at line 1617 of file vm_eval.c.
References GET_THREAD, NIL_P, NUM2INT, rb_eArgError, rb_raise(), rb_scan_args(), and vm_backtrace().
Referenced by Init_vm_eval().
Definition at line 1537 of file vm_eval.c.
References catch_i(), rb_catch_obj(), rb_cObject, rb_obj_alloc(), rb_scan_args(), and rb_vm_tag::tag.
Referenced by Init_vm_eval().
Definition at line 1130 of file vm_eval.c.
References eval_string(), NIL_P, NUM2INT, OBJ_TAINTED, rb_eSecurityError, rb_raise(), rb_safe_level, rb_scan_args(), RSTRING_PTR, SafeStringValue, and StringValue.
Referenced by bind_eval(), and Init_vm_eval().
|
static |
Definition at line 1701 of file vm_eval.c.
References rb_thread_struct::cfp, rb_control_frame_t::dfp, GC_GUARDED_PTR_REF, GET_THREAD, i, ID2SYM, rb_control_frame_t::iseq, rb_control_frame_t::lfp, rb_iseq_struct::local_table, rb_iseq_struct::local_table_size, rb_ary_new(), rb_ary_push(), rb_id2name(), RUBY_VM_PREVIOUS_CONTROL_FRAME, vm_collect_local_variables_in_heap(), and vm_get_ruby_level_caller_cfp().
Referenced by Init_vm_eval().
Definition at line 860 of file vm_eval.c.
References loop_i(), Qnil, rb_eStopIteration, rb_rescue2(), and RETURN_ENUMERATOR.
Referenced by Init_vm_eval().
Definition at line 767 of file vm_eval.c.
References CALL_PUBLIC, and send_internal().
Referenced by Init_vm_eval().
Definition at line 750 of file vm_eval.c.
References CALL_FCALL, and send_internal().
Referenced by Init_vm_eval().
Definition at line 1454 of file vm_eval.c.
References Qnil, rb_scan_args(), and rb_throw_obj().
Referenced by Init_vm_eval().
Calls a method.
recv | receiver of the method |
mid | an ID that represents the name of the method |
n | the number of arguments |
... | arbitrary number of method arguments |
Definition at line 638 of file vm_eval.c.
References ALLOCA_N, argv, CALL_FCALL, i, rb_call(), and va_init_list.
Referenced by _thread_call_proc_core(), _thread_call_proc_value(), add(), argument_error(), ary2list(), ary2list2(), basic_obj_respond_to(), BigDecimal_power(), BigDecimal_to_i(), BigDecimal_to_r(), binop(), bsock_setsockopt(), call_next(), call_queue_handler(), callback(), cbsubst_def_attr_aliases(), cbsubst_get_subst_key(), cbsubst_scan_args(), chunk_i(), chunk_ii(), cmp(), cmp_ge(), cmp_gt(), cmp_le(), cmp_lt(), code_page(), coerce_body(), const_missing(), convert_encoding(), copy_stream_fallback_body(), cParser_initialize(), create_encoding_table(), date_strftime_with_tmx(), default_inspect(), dir_inspect(), divmodv(), DupPrivPKeyPtr(), enum_find(), enum_zip(), eq(), error_print(), eval_queue_handler(), evs_length(), exc_message(), f_add(), f_cmp(), f_div(), f_eqeq_p(), f_ge_p(), f_gt_p(), f_le_p(), f_lt_p(), f_negative_p(), f_one_p(), f_sub(), f_to_f(), f_zero_p(), fix_pow(), flo_pow(), flo_quo(), fole_s_show_help(), foleparam_inspect(), foletype_s_ole_classes(), foletypelib_s_typelibs(), folevariable_inspect(), folevariant_value(), fun1(), fun2(), function_call(), generic_to_value(), get_backtrace(), get_eval_string_core(), GetConfigPtr(), GetPrivPKeyPtr(), GetVpValueWithPrec(), grep_i(), grep_iter_i(), gzfile_close(), gzfile_read_raw_partial(), gzfile_read_raw_rescue(), gzfile_reader_rewind(), gzfile_write_raw(), id_hash_new(), Init_parser(), Init_syck(), Init_win32ole(), initialize(), inject_op_i(), int_dotimes(), int_downto(), int_even_p(), int_odd_p(), int_round_0(), int_upto(), invoke_queue_handler(), io_call_close(), io_reader(), io_write(), ip_eval(), ip_invoke_with_position(), ip_set_exc_message(), is_negative(), is_one(), is_zero(), JSON_parse_array(), JSON_parse_object(), JSON_parse_string(), key2keyname(), lexer_iter(), lib_eventloop_ensure(), lib_eventloop_launcher(), lib_fromUTF8_core(), lib_set_system_encoding(), lib_thread_callback(), lib_toUTF8_core(), lib_watchdog_core(), load_file_internal(), make_exception(), match_i(), max_by_i(), max_i(), min_by_i(), min_i(), minmax_by_i(), minmax_by_i_update(), minmax_i(), minmax_i_update(), mktime_do(), mktime_r(), mlambda(), mnew(), mod(), mul(), negate_lit(), num_abs(), num_div(), num_equal(), num_fdiv(), num_modulo(), num_nonzero_p(), num_quo(), num_remainder(), num_step(), num_to_int(), num_uminus(), nurat_div(), ole_invoke(), ole_typelib_from_itypeinfo(), ossl_call_client_cert_cb(), ossl_call_session_get_cb(), ossl_call_session_new_cb(), ossl_call_session_remove_cb(), ossl_call_tmp_dh_callback(), ossl_call_verify_cb_proc(), ossl_pkey_sign(), ossl_ssl_close(), ossl_ssl_initialize(), ossl_ssl_read_internal(), ossl_ssl_session_get_time(), ossl_ssl_session_set_time(), ossl_ssl_write_internal(), ossl_sslctx_flush_sessions(), ossl_to_der(), ossl_x509attr_get_value(), ossl_x509attr_initialize(), ossl_x509ext_initialize(), ossl_x509store_verify(), parse(), parse_main(), path_atime(), path_basename(), path_blockdev_p(), path_chardev_p(), path_chmod(), path_chown(), path_ctime(), path_directory_p(), path_dirname(), path_entries(), path_executable_p(), path_executable_real_p(), path_exist_p(), path_expand_path(), path_extname(), path_file_p(), path_fnmatch(), path_ftype(), path_grpowned_p(), path_lchmod(), path_lchown(), path_lstat(), path_make_link(), path_make_symlink(), path_mkdir(), path_mtime(), path_owned_p(), path_pipe_p(), path_readable_p(), path_readable_real_p(), path_readlink(), path_realdirpath(), path_realpath(), path_rename(), path_rmdir(), path_s_getwd(), path_setgid_p(), path_setuid_p(), path_size(), path_size_p(), path_socket_p(), path_split(), path_stat(), path_sticky_p(), path_symlink_p(), path_truncate(), path_utime(), path_world_readable_p(), path_world_writable_p(), path_writable_p(), path_writable_real_p(), path_zero_p(), protected_alias(), protected_empty(), protected_end_document(), protected_end_mapping(), protected_end_sequence(), protected_end_stream(), protected_start_stream(), quo(), r_le(), r_leave(), r_lt(), r_object0(), raise_method_missing(), range_check(), range_each_func(), range_eqq(), range_max(), range_min(), range_step(), rb_big_pow(), rb_class_inherited(), rb_cmpint(), rb_digest_class_s_digest(), rb_digest_instance_bubblebabble(), rb_digest_instance_digest(), rb_digest_instance_digest_bang(), rb_digest_instance_hexdigest(), rb_digest_instance_hexdigest_bang(), rb_digest_instance_length(), rb_digest_instance_new(), rb_digest_instance_to_s(), rb_enc_get_index(), rb_eql(), rb_equal(), rb_exc_new(), rb_exc_new3(), rb_gzreader_initialize(), rb_gzwriter_flush(), rb_gzwriter_initialize(), rb_hash(), rb_hash_aref(), rb_hash_default(), rb_hash_shift(), rb_inspect(), rb_int_pred(), rb_int_succ(), rb_io_flush(), rb_io_write(), rb_mod_include(), rb_num_coerce_bin(), rb_num_coerce_cmp(), rb_num_coerce_relop(), rb_obj_alloc(), rb_obj_as_string(), rb_obj_clone(), rb_obj_dup(), rb_obj_extend(), rb_obj_init_dup_clone(), rb_obj_inspect(), rb_obj_not_equal(), rb_obj_not_match(), rb_obj_respond_to(), rb_range_values(), rb_str_cmp_m(), rb_str_match(), rb_str_sum(), rb_str_upto(), rb_strftime_with_timespec(), rb_syck_load_handler(), rbtime2vtdate(), readline_attempted_completion_function(), recursive_cmp(), reduce0(), rescue_callback(), rt_complete_frags(), set_backtrace(), set_max_block_time(), set_option_encoding_once(), shift(), slicebefore_i(), slicebefore_ii(), sockopt_unpack(), sort_2(), sort_by_cmp(), step_i(), sub(), syck_badalias_cmp(), syck_defaultresolver_node_import(), syck_emitter_emit(), syck_emitter_node_export(), syck_emitter_s_alloc(), syck_genericresolver_node_import(), syck_map_add_m(), syck_map_initialize(), syck_map_value_set(), syck_merge_i(), syck_node_transform(), syck_out_map(), syck_out_scalar(), syck_out_seq(), syck_parser_bufsize_set(), syck_parser_load_documents(), syck_resolver_node_import(), syck_resolver_transfer(), syck_scalar_initialize(), syck_seq_add_m(), syck_seq_initialize(), syck_set_model(), sym_step_i(), syserr_eqq(), tcl2rb_bool(), tcl_protect_core(), time_cmp(), time_timespec(), time_to_time(), tk_funcall(), tk_install_cmd_core(), TkStringValue(), to_strkey(), unlink_body(), unlink_rescue(), vtdate2rbtime(), w_object(), wadd(), wcmp(), wdivmod(), weq(), wmul(), wquo(), writer(), wsub(), and yaml_org_handler().
Calls a method.
recv | receiver of the method |
mid | an ID that represents the name of the method |
argc | the number of arguments |
argv | pointer to an array of method arguments |
Definition at line 669 of file vm_eval.c.
References CALL_FCALL, and rb_call().
Referenced by asn1time_to_time(), bug_funcall(), callback(), check_funcall_exec(), cleanup_iseq_build(), cmp_eq_recursive(), dir_open_dir(), getc_call(), io_getch(), map_charset(), marshal_dump(), marshal_load(), method_missing(), mproc(), nucomp_f_complex(), nucomp_rationalize(), nurat_f_rational(), path_binread(), path_each_line(), path_open(), path_read(), path_readlines(), path_s_glob(), path_sub(), path_sysopen(), r_byte(), r_bytes0(), rand_range(), random_equal(), range_values(), rb_digest_class_s_bubblebabble(), rb_digest_class_s_hexdigest(), rb_eval_cmd(), rb_f_gets(), rb_f_open(), rb_f_putc(), rb_f_puts(), rb_f_readline(), rb_f_readlines(), rb_hash_flatten(), rb_io_set_encoding(), rb_obj_call_init(), rb_random_bytes(), rb_random_int32(), rb_random_real(), rb_str_match_m(), rb_syck_io_str_read(), require_libraries(), strio_readbyte(), strio_readchar(), strio_readline(), strio_sysread(), syck_parser_assign_io(), tk_do_callback(), tk_fromUTF8(), tk_toUTF8(), vm_call0(), vm_call_method(), vm_method_missing(), and with_funcall2().
Calls a method.
Same as rb_funcall2 but this function can call only public methods.
recv | receiver of the method |
mid | an ID that represents the name of the method |
argc | the number of arguments |
argv | pointer to an array of method arguments |
Definition at line 684 of file vm_eval.c.
References CALL_PUBLIC, and rb_call().
Referenced by aref_fallback(), argf_close(), argf_forward(), argf_getbyte(), argf_getc(), argf_getline(), argf_readchar(), argf_readlines(), protected_scalar(), protected_start_document(), protected_start_mapping(), protected_start_sequence(), and rawmode_opt().
Definition at line 690 of file vm_eval.c.
References CALL_PUBLIC, GET_THREAD, PASS_PASSED_BLOCK_TH, and rb_call().
Referenced by rb_f_chomp(), rb_f_chop(), rb_f_gsub(), rb_f_sub(), and with_funcall_passing_block().
VALUE rb_funcall_with_block | ( | VALUE | recv, |
ID | mid, | ||
int | argc, | ||
const VALUE * | argv, | ||
VALUE | pass_procval | ||
) |
Definition at line 698 of file vm_eval.c.
References rb_proc_t::block, CALL_PUBLIC, GET_THREAD, GetProcPtr, NIL_P, rb_thread_struct::passed_block, and rb_call().
Referenced by sym_call().
Definition at line 873 of file vm_eval.c.
References rb_method_entry_struct::called_id, rb_thread_struct::cfp, rb_control_frame_t::dfp, err, rb_thread_struct::errinfo, EXEC_EVENT_HOOK, GC_GUARDED_PTR_REF, GET_THREAD, GET_THROWOBJ_CATCH_POINT, rb_block_struct::iseq, rb_method_entry_struct::klass, rb_control_frame_t::lfp, rb_control_frame_t::me, NEW_IFUNC, rb_thread_struct::passed_block, rb_block_struct::proc, Qnil, rb_frame_this_func(), RUBY_EVENT_C_RETURN, RUBY_VM_GET_BLOCK_PTR_IN_CFP, RUBY_VM_PREVIOUS_CONTROL_FRAME, rb_control_frame_t::self, rb_thread_struct::state, TAG_BREAK, TAG_RETRY, TH_EXEC_TAG, TH_JUMP_TAG, TH_POP_TAG, TH_PUSH_TAG, UNLIKELY, VM_FRAME_MAGIC_CFUNC, and VM_FRAME_TYPE.
Referenced by call_lexer(), method_proc(), rb_block_call(), and rb_proc_new().
VALUE rb_make_backtrace | ( | void | ) |
Definition at line 1657 of file vm_eval.c.
References GET_THREAD, and vm_backtrace().
Referenced by argument_error(), parser_set_encode(), setup_exception(), and warn_deprecated().
|
inlinestatic |
Definition at line 396 of file vm_eval.c.
References CALL_PUBLIC, CALL_VCALL, rb_method_entry_struct::called_id, rb_thread_struct::cfp, rb_method_entry_struct::def, rb_method_entry_struct::flag, rb_method_entry_struct::klass, NOEX_MASK, NOEX_OK, NOEX_PRIVATE, NOEX_PROTECTED, NOEX_SAFE, NOEX_VCALL, rb_method_definition_struct::original_id, Qundef, rb_eSecurityError, rb_id2name(), rb_obj_is_kind_of(), rb_raise(), RBASIC, rb_thread_struct::safe_level, rb_control_frame_t::self, T_ICLASS, TYPE, UNDEFINED_METHOD_ENTRY_P, and UNLIKELY.
Referenced by check_funcall(), and rb_call0().
Definition at line 496 of file vm_eval.c.
References GET_THREAD, rb_thread_struct::method_missing_reason, Qnil, and raise_method_missing().
Referenced by Init_vm_eval().
Definition at line 1410 of file vm_eval.c.
References specific_eval().
Referenced by Init_vm_eval(), and rb_struct_s_def().
Definition at line 1436 of file vm_eval.c.
References rb_ary_new4(), and yield_under().
Referenced by Init_vm_eval(), and rb_mod_initialize().
Definition at line 1340 of file vm_eval.c.
References Qnil, rb_singleton_class(), SPECIAL_CONST_P, and specific_eval().
Referenced by Init_vm_eval(), and tk_s_new().
Definition at line 1372 of file vm_eval.c.
References Qnil, rb_ary_new4(), rb_singleton_class(), SPECIAL_CONST_P, and yield_under().
Referenced by Init_vm_eval(), and tk_s_new().
void rb_raise_method_missing | ( | rb_thread_t * | th, |
int | argc, | ||
VALUE * | argv, | ||
VALUE | obj, | ||
int | call_status | ||
) |
Definition at line 601 of file vm_eval.c.
References NOEX_MISSING, rb_thread_struct::passed_block, and raise_method_missing().
Referenced by vm_call_method().
|
inlinestatic |
Definition at line 353 of file vm_eval.c.
References BUILTIN_TYPE, CLASS_OF, IMMEDIATE_P, PRIxVALUE, rb_eNotImpError, rb_id2name(), rb_method_entry(), rb_raise(), rb_type_str(), RBASIC, T_NIL, T_OBJECT, and type.
Referenced by check_funcall(), and rb_call0().
Definition at line 1663 of file vm_eval.c.
References GetThreadPtr, Qnil, rb_thread_struct::status, THREAD_KILLED, THREAD_RUNNABLE, THREAD_STOPPED, THREAD_STOPPED_FOREVER, THREAD_TO_KILL, and vm_backtrace().
Referenced by rb_thread_backtrace_m().
Definition at line 1488 of file vm_eval.c.
References ID2SYM, rb_intern, and rb_throw_obj().
Definition at line 1464 of file vm_eval.c.
References rb_thread_struct::errinfo, GET_THREAD, JUMP_TAG, NEW_THROW_OBJECT, rb_vm_tag::prev, rb_eArgError, RB_GC_GUARD, rb_inspect(), rb_raise(), rb_trap_restore_mask(), rb_vm_tag::retval, RSTRING_PTR, rb_vm_tag::tag, rb_thread_struct::tag, and TAG_THROW.
Referenced by exec_recursive(), rb_f_throw(), and rb_throw().
|
static |
Definition at line 318 of file vm_eval.c.
References NULL, T_ARRAY, T_BIGNUM, T_CLASS, T_COMPLEX, T_DATA, T_FALSE, T_FILE, T_FIXNUM, T_FLOAT, T_HASH, T_ICLASS, T_MATCH, T_MODULE, T_NIL, T_NODE, T_NONE, T_OBJECT, T_RATIONAL, T_REGEXP, T_STRING, T_STRUCT, T_SYMBOL, T_TRUE, T_UNDEF, T_ZOMBIE, and type_case.
Referenced by rb_search_method_entry().
VALUE rb_vm_call | ( | rb_thread_t * | th, |
VALUE | recv, | ||
VALUE | id, | ||
int | argc, | ||
const VALUE * | argv, | ||
const rb_method_entry_t * | me | ||
) |
Definition at line 152 of file vm_eval.c.
References vm_call0().
Referenced by rb_method_call_with_block().
|
inlinestatic |
Referenced by vm_call0().
Definition at line 781 of file vm_eval.c.
References Qundef, and rb_yield_0().
Referenced by ary_add_hash_by(), ary_reject(), ary_reject_bang(), BigDecimal_save_exception_mode(), BigDecimal_save_limit(), BigDecimal_save_rounding_mode(), chdir_yield(), console_cooked(), console_noecho(), console_raw(), cycle_i(), d_lite_downto(), d_lite_step(), d_lite_upto(), dir_each(), dir_s_open(), drop_while_i(), each_cons_i(), each_entry_i(), each_i(), each_key_i(), each_pair_i(), each_slice_i(), each_val_i(), each_value_i(), enum_cycle(), enum_each_slice(), enum_reverse_each(), env_delete_m(), env_each_key(), env_each_pair(), env_each_value(), env_fetch(), fdbm_delete(), fdbm_delete_if(), fdbm_each_key(), fdbm_each_pair(), fdbm_each_value(), fdbm_fetch(), fdbm_s_open(), fdbm_select(), fgdbm_delete_if(), fgdbm_each_key(), fgdbm_each_pair(), fgdbm_each_value(), fgdbm_fetch(), fgdbm_s_open(), fgdbm_select(), find_all_i(), find_i(), fsdbm_delete(), fsdbm_delete_if(), fsdbm_each_key(), fsdbm_each_pair(), fsdbm_each_value(), fsdbm_fetch(), fsdbm_s_open(), fsdbm_select(), glob_i(), grep_iter_i(), group_by_i(), gzfile_wrap(), hist_each(), iconv_fail_retry(), iconv_s_open(), int_dotimes(), int_downto(), int_upto(), io_s_foreach(), max_by_i(), min_by_i(), minmax_by_i(), mSyslog_open(), num_step(), ole_each_sub(), os_obj_of_i(), ossl_asn1_decode0(), ossl_generate_cb(), ossl_pem_passwd_cb0(), p_gid_switch(), p_uid_switch(), partition_i(), permute0(), pty_getpty(), pty_open(), range_each(), range_step(), rb_ary_collect(), rb_ary_collect_bang(), rb_ary_combination(), rb_ary_count(), rb_ary_cycle(), rb_ary_delete(), rb_ary_drop_while(), rb_ary_each(), rb_ary_each_index(), rb_ary_fetch(), rb_ary_fill(), rb_ary_index(), rb_ary_initialize(), rb_ary_permutation(), rb_ary_product(), rb_ary_repeated_combination(), rb_ary_repeated_permutation(), rb_ary_reverse_each(), rb_ary_rindex(), rb_ary_select(), rb_ary_select_bang(), rb_ary_take_while(), rb_ary_zip(), rb_callcc(), rb_dlhandle_initialize(), rb_f_open(), rb_gzreader_each(), rb_gzreader_each_byte(), rb_gzreader_each_char(), rb_hash_delete(), rb_hash_fetch_m(), rb_io_each_byte(), rb_io_each_char(), rb_io_each_codepoint(), rb_io_each_line(), rb_io_s_open(), rb_io_s_pipe(), rb_io_s_popen(), rb_obj_tap(), rb_reg_match_m(), rb_str_each_byte(), rb_str_each_char(), rb_str_each_codepoint(), rb_str_each_line(), rb_str_match_m(), rb_str_scan(), rb_str_sub_bang(), rb_str_upto(), rb_struct_each(), rb_struct_select(), rcombinate0(), reject_i(), rpermute0(), ruby_float_step(), sort_by_i(), step_i(), str_gsub(), strio_each(), strio_each_byte(), strio_each_char(), strio_each_codepoint(), strio_s_open(), syck_out_map(), syck_out_seq(), sym_each_i(), sym_step_i(), window_attron(), zip_ary(), and zip_i().
Definition at line 775 of file vm_eval.c.
References GET_THREAD, and vm_yield().
Referenced by catch_i(), loop_i(), rb_yield(), rb_yield_splat(), rb_yield_values(), and rb_yield_values2().
Definition at line 820 of file vm_eval.c.
References NIL_P, RARRAY_LENINT, RARRAY_PTR, rb_check_array_type(), rb_eArgError, rb_raise(), rb_yield_0(), and v.
VALUE rb_yield_values | ( | int | n, |
... | |||
) |
Definition at line 792 of file vm_eval.c.
References ALLOCA_N, args, argv, i, rb_yield_0(), and va_init_list.
Referenced by delete_if_i(), each_with_index_i(), each_with_object_i(), enumerator_with_index_i(), enumerator_with_object_i(), env_reject_bang(), env_select(), env_select_bang(), env_update_i(), inject_i(), keep_if_i(), max_ii(), min_ii(), minmax_ii(), minmax_ii_update(), numhash_i(), rb_hash_update_block_i(), rb_struct_each_pair(), select_i(), and sort_1().
Definition at line 715 of file vm_eval.c.
References GET_THREAD, PASS_PASSED_BLOCK_TH, rb_call0(), rb_eArgError, rb_raise(), rb_to_id(), and RUBY_VM_PREVIOUS_CONTROL_FRAME.
Referenced by rb_f_public_send(), rb_f_send(), and vm_call0().
Definition at line 1278 of file vm_eval.c.
References eval_under(), name, NUM2INT, Qundef, rb_block_given_p(), rb_eArgError, rb_frame_callee(), rb_id2name(), rb_raise(), rb_safe_level, SafeStringValue, StringValue, StringValuePtr, and yield_under().
Referenced by rb_mod_module_eval(), and rb_obj_instance_eval().
|
inlinestatic |
Definition at line 196 of file vm_eval.c.
References GET_THREAD, RAISED_STACKOVERFLOW, rb_exc_raise(), rb_thread_raised_p, rb_thread_raised_set, ruby_stack_check(), and sysstack_error.
Referenced by check_funcall(), raise_method_missing(), and rb_call0().
|
inlinestatic |
Referenced by eval_string_with_cref(), rb_f_caller(), rb_make_backtrace(), and rb_thread_backtrace().
|
static |
Referenced by rb_backtrace(), and rb_backtrace_each().
|
inlinestatic |
Definition at line 35 of file vm_eval.c.
References rb_method_cfunc_struct::argc, argc, rb_method_definition_struct::attr, rb_proc_t::block, rb_method_definition_struct::body, call_cfunc(), CALL_FCALL, rb_thread_struct::cfp, rb_method_definition_struct::cfunc, CHECK_STACK_OVERFLOW, rb_method_entry_struct::def, EXEC_EVENT_HOOK, rb_method_cfunc_struct::func, GetProcPtr, i, rb_method_attr_struct::id, ID2SYM, rb_method_entry_struct::klass, rb_control_frame_t::me, method_missing(), new_args, NOEX_SUPER, rb_method_definition_struct::optimize_type, rb_thread_struct::passed_block, Qnil, Qundef, RARRAY_PTR, rb_ary_new4(), rb_ary_unshift(), rb_attr_get(), rb_bug(), rb_eArgError, rb_funcall2(), RB_GC_GUARD, rb_ivar_set(), rb_method_entry(), rb_raise(), rb_vm_invoke_proc(), rb_vm_set_finish_env(), RCLASS_SUPER, RUBY_EVENT_C_CALL, RUBY_EVENT_C_RETURN, RUBY_VM_CHECK_INTS, rb_block_struct::self, send_internal(), rb_control_frame_t::sp, rb_method_definition_struct::type, vm_call_bmethod(), vm_exec(), VM_FRAME_MAGIC_CFUNC, VM_METHOD_TYPE_ATTRSET, VM_METHOD_TYPE_BMETHOD, VM_METHOD_TYPE_CFUNC, VM_METHOD_TYPE_ISEQ, VM_METHOD_TYPE_IVAR, VM_METHOD_TYPE_MISSING, VM_METHOD_TYPE_NOTIMPLEMENTED, VM_METHOD_TYPE_OPTIMIZED, VM_METHOD_TYPE_ZSUPER, vm_pop_frame(), vm_push_frame(), and vm_setup_method().
Referenced by check_funcall(), rb_call0(), rb_vm_call(), and vm_call_super().
|
inlinestatic |
Definition at line 159 of file vm_eval.c.
References rb_thread_struct::cfp, rb_method_entry_struct::def, id, rb_control_frame_t::iseq, rb_method_entry_struct::klass, rb_control_frame_t::me, method_missing(), NOEX_SUPER, rb_method_definition_struct::original_id, rb_bug(), rb_method_entry(), RCLASS_SUPER, rb_control_frame_t::self, vm_call0(), and vm_search_normal_superclass().
Referenced by rb_call_super().
|
static |
Referenced by rb_f_local_variables().
|
static |
Referenced by eval_under(), and yield_under().
|
static |
Referenced by eval_string_with_cref(), and vm_call0().
|
static |
Referenced by eval_string_with_cref().
|
inlinestatic |
Referenced by rb_yield_0().
|
inlinestatic |
Referenced by yield_under().
Definition at line 1239 of file vm_eval.c.
References rb_thread_struct::cfp, RNode::flags, GC_GUARDED_PTR, GC_GUARDED_PTR_REF, GET_THREAD, rb_control_frame_t::lfp, NODE_FL_CREF_PUSHED_BY_EVAL, NOEX_PUBLIC, Qundef, RARRAY_LENINT, RARRAY_PTR, rb_block_struct::self, vm_cref_push(), and vm_yield_with_cref().
Referenced by rb_mod_module_exec(), rb_obj_instance_exec(), and specific_eval().