|
Ruby
2.0.0p481(2014-05-08revision45883)
|

Go to the source code of this file.
| #define NOEX_MISSING 0x80 |
Definition at line 631 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 293 of file vm_eval.c.
Referenced by check_funcall_callable(), rb_call0(), rb_check_funcall(), rb_check_funcall_with_hook(), and rb_method_call_status().
| #define type_case | ( | t | ) | case t: return #t; |
Referenced by rb_type_str().
| enum call_type |
| static int check_funcall_callable | ( | rb_thread_t * | th, |
| const rb_method_entry_t * | me | ||
| ) | [static] |
Definition at line 382 of file vm_eval.c.
References CALL_FCALL, rb_thread_struct::cfp, NOEX_OK, rb_method_call_status(), and rb_control_frame_struct::self.
Referenced by rb_check_funcall(), and rb_check_funcall_with_hook().
| static VALUE check_funcall_exec | ( | struct rescue_funcall_args * | args | ) | [static] |
Definition at line 335 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_missing().
| static VALUE check_funcall_failed | ( | struct rescue_funcall_args * | args, |
| VALUE | e | ||
| ) | [static] |
Definition at line 346 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_missing().
| static VALUE check_funcall_missing | ( | rb_thread_t * | th, |
| VALUE | klass, | ||
| VALUE | recv, | ||
| ID | mid, | ||
| int | argc, | ||
| VALUE * | argv | ||
| ) | [static] |
Definition at line 388 of file vm_eval.c.
References argc, rescue_funcall_args::argc, argv, rescue_funcall_args::argv, check_funcall_exec(), check_funcall_failed(), ID2SYM, rb_thread_struct::method_missing_reason, Qundef, rb_eNoMethodError, rb_method_basic_definition_p(), rb_rescue2(), rescue_funcall_args::recv, and rescue_funcall_args::sym.
Referenced by rb_check_funcall(), and rb_check_funcall_with_hook().
| static int check_funcall_respond_to | ( | rb_thread_t * | th, |
| VALUE | klass, | ||
| VALUE | recv, | ||
| ID | mid | ||
| ) | [static] |
Definition at line 355 of file vm_eval.c.
References args, FALSE, rb_method_entry_struct::flag, ID2SYM, idRespond_to, NOEX_BASIC, rb_thread_struct::passed_block, Qtrue, rb_eArgError, rb_method_entry(), rb_method_entry_arity(), rb_raise(), result, RTEST, TRUE, and vm_call0().
Referenced by rb_check_funcall(), and rb_check_funcall_with_hook().
Definition at line 1298 of file vm_eval.c.
References eval_string_with_cref().
Referenced by eval_string_from_file_helper(), rb_eval_cmd(), rb_f_eval(), and ruby_eval_string_from_file().
| static VALUE eval_string_from_file_helper | ( | void * | data | ) | [static] |
Definition at line 1365 of file vm_eval.c.
References eval_string(), eval_string_from_file_arg::filename, Qnil, rb_vm_top_self(), and eval_string_from_file_arg::str.
Referenced by ruby_eval_string_from_file_protect().
| static VALUE eval_string_with_cref | ( | VALUE | self, |
| VALUE | src, | ||
| VALUE | scope, | ||
| NODE * | cref, | ||
| volatile VALUE | file, | ||
| volatile int | line | ||
| ) | [static] |
Definition at line 1171 of file vm_eval.c.
References rb_env_t::block, rb_thread_struct::cfp, CHECK_VM_STACK_OVERFLOW, CONST_ID, env, rb_binding_t::env, rb_thread_struct::errinfo, rb_binding_t::first_lineno, GET_THREAD(), GetBindingPtr, GetEnvPtr, GetISeqPtr, INT2FIX, rb_control_frame_struct::iseq, rb_block_struct::iseq, JUMP_TAG, rb_iseq_struct::local_table_size, rb_thread_struct::mild_compile_error, NIL_P, NULL, OBJ_FROZEN, rb_thread_struct::parse_in_eval, rb_binding_t::path, Qnil, Qundef, RARRAY_LEN, RARRAY_PTR, rb_attr_get(), rb_cBinding, rb_current_realfilepath(), rb_eRuntimeError, rb_eTypeError, rb_exc_raise(), rb_get_backtrace(), rb_iseq_compile_with_option(), rb_iseq_disasm(), rb_ivar_set(), rb_obj_classname(), rb_obj_is_kind_of(), rb_raise(), rb_sourcefilename(), rb_sourceline(), rb_str_append(), rb_str_cat(), rb_str_dup(), rb_str_new2(), rb_str_update(), RB_TYPE_P, rb_usascii_str_new_cstr(), rb_vm_get_ruby_level_next_cfp(), rb_vm_make_env_object(), result, RSTRING_LEN, RUBY_VM_GET_BLOCK_PTR_IN_CFP, rb_block_struct::self, rb_iseq_struct::stack_max, StringValuePtr, T_ARRAY, T_STRING, TAG_RAISE, TH_EXEC_TAG, TH_POP_TAG, TH_PUSH_TAG, vm_backtrace_str_ary(), vm_exec(), and vm_set_eval_stack().
Referenced by eval_string(), and eval_under().
Definition at line 1536 of file vm_eval.c.
References eval_string_with_cref(), RNode::flags, GET_THREAD(), NIL_P, NODE_FL_CREF_PUSHED_BY_EVAL, NOEX_PUBLIC, NULL, Qnil, rb_safe_level, SafeStringValue, SPECIAL_CONST_P, StringValue, and vm_cref_push().
Referenced by specific_eval().
| void Init_vm_eval | ( | void | ) |
Definition at line 1954 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_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().
| static VALUE iterate_check_method | ( | VALUE | obj | ) | [static] |
Definition at line 1143 of file vm_eval.c.
References iter_method_arg::argc, iter_method_arg::argv, iter_method_arg::mid, iter_method_arg::obj, and rb_check_funcall().
Referenced by rb_check_block_call().
| static VALUE iterate_method | ( | VALUE | obj | ) | [static] |
Definition at line 1121 of file vm_eval.c.
References 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().
Definition at line 984 of file vm_eval.c.
References Qnil, and rb_yield_0().
Referenced by rb_f_loop().
| static VALUE make_no_method_exception | ( | VALUE | exc, |
| const char * | format, | ||
| VALUE | obj, | ||
| int | argc, | ||
| const VALUE * | argv | ||
| ) | [static] |
Definition at line 634 of file vm_eval.c.
References args, CLASS_OF, rb_ary_new4(), rb_class_new_instance(), rb_const_get(), rb_eNoMethodError, rb_funcall(), rb_intern, rb_method_basic_definition_p(), rb_name_err_mesg_new(), and rb_str_new2().
Referenced by raise_method_missing(), send_internal(), and vm_call_opt_send().
| static VALUE method_missing | ( | VALUE | obj, |
| ID | id, | ||
| int | argc, | ||
| const VALUE * | argv, | ||
| int | call_status | ||
| ) | [inline, static] |
Definition at line 694 of file vm_eval.c.
References ALLOCA_N, CLASS_OF, GET_THREAD(), ID2SYM, MEMCPY, rb_thread_struct::method_missing_reason, NOEX_MISSING, rb_thread_struct::passed_block, raise_method_missing(), RARRAY_PTR, rb_ary_clear(), rb_ary_set_len(), rb_ary_tmp_new(), rb_funcall2(), rb_method_basic_definition_p(), and result.
Referenced by rb_call0(), vm_call0_body(), and vm_call_super().
| NORETURN | ( | static void | raise_method_missingrb_thread_t *th, int argc, const VALUE *argv, VALUE obj, int call_status | ) |
| static void raise_method_missing | ( | rb_thread_t * | th, |
| int | argc, | ||
| const VALUE * | argv, | ||
| VALUE | obj, | ||
| int | last_call_status | ||
| ) | [static] |
Definition at line 658 of file vm_eval.c.
References rb_thread_struct::cfp, make_no_method_exception(), NOEX_MISSING, NOEX_PRIVATE, NOEX_PROTECTED, NOEX_SUPER, NOEX_VCALL, rb_eArgError, rb_eNameError, rb_eNoMethodError, rb_exc_raise(), rb_raise(), RUBY_VM_PREVIOUS_CONTROL_FRAME, stack_check(), 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 744 of file vm_eval.c.
References ALLOCA_N, argc, argv, CALL_FCALL, MEMCPY, OBJ_FREEZE, RARRAY_LENINT, RARRAY_PTR, rb_ary_subseq(), rb_call(), RB_GC_GUARD, and RBASIC.
Referenced by ary2list(), ary2list2(), exec_callback(), ip_ruby_cmd_core(), and tk_do_callback().
| VALUE rb_block_call | ( | VALUE | obj, |
| ID | mid, | ||
| int | argc, | ||
| VALUE * | argv, | ||
| VALUE(*)(ANYARGS) | bl_proc, | ||
| VALUE | data2 | ||
| ) |
Definition at line 1130 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().
Referenced by argf_each_byte(), argf_each_char(), argf_each_codepoint(), argf_each_line(), chunk_i(), enum_all(), enum_any(), enum_chunk(), enum_collect(), enum_count(), enum_cycle(), enum_drop(), enum_drop_while(), enum_each_cons(), enum_each_entry(), enum_each_slice(), enum_each_with_index(), enum_each_with_object(), enum_find(), enum_find_all(), enum_find_index(), enum_first(), enum_flat_map(), enum_grep(), enum_group_by(), enum_inject(), enum_max(), enum_max_by(), enum_member(), enum_min(), enum_min_by(), enum_minmax(), enum_minmax_by(), enum_none(), enum_one(), enum_partition(), enum_reject(), enum_slice_before(), enum_sort_by(), enum_take(), enum_take_while(), enum_to_a(), enum_zip(), enumerator_block_call(), fdbm_replace(), fdbm_update(), fgdbm_replace(), fgdbm_update(), fsdbm_replace(), fsdbm_update(), join_der(), lazy_drop(), lazy_drop_while(), lazy_flat_map(), lazy_flat_map_each(), lazy_grep(), lazy_init_block_i(), lazy_initialize(), lazy_map(), lazy_reject(), lazy_select(), lazy_take(), lazy_take_while(), lazy_zip(), next_i(), ole_invoke(), ossl_pkcs7_set_certificates(), ossl_pkcs7_set_crls(), ossl_sslctx_setup(), ossl_x509name_initialize(), path_each_entry(), path_each_line(), path_open(), path_opendir(), path_s_glob(), path_sub(), range_each(), range_first(), range_step(), rb_ary_sort_by_bang(), save_env(), and slicebefore_i().
| static VALUE rb_call | ( | VALUE | recv, |
| ID | mid, | ||
| int | argc, | ||
| const VALUE * | argv, | ||
| call_type | scope | ||
| ) | [inline, static] |
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 581 of file vm_eval.c.
References rb_thread_struct::cfp, GET_THREAD(), rb_call0(), and rb_control_frame_struct::self.
Referenced by iterate_method(), rb_apply(), rb_each(), rb_funcall(), rb_funcall2(), rb_funcall3(), rb_funcall_passing_block(), and rb_funcall_with_block().
| static VALUE rb_call0 | ( | VALUE | recv, |
| ID | mid, | ||
| int | argc, | ||
| const VALUE * | argv, | ||
| call_type | scope, | ||
| VALUE | self | ||
| ) | [inline, static] |
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 no self is considered and protected methods cannot be called |
Definition at line 311 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().
| VALUE rb_call_super | ( | int | argc, |
| const VALUE * | argv | ||
| ) |
Definition at line 273 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(), interrupt_init(), lazy_super(), lazy_zip(), 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 1816 of file vm_eval.c.
References func, ID2SYM, rb_catch_obj(), rb_cObject, rb_intern, and rb_obj_alloc().
| VALUE rb_catch_obj | ( | VALUE | tag, |
| VALUE(*)() | func, | ||
| VALUE | data | ||
| ) |
Definition at line 1823 of file vm_eval.c.
References rb_thread_struct::cfp, rb_thread_struct::errinfo, GET_THREAD(), JUMP_TAG, Qnil, rb_vm_tag::retval, RNODE, rb_vm_tag::tag, rb_thread_struct::tag, TAG_THROW, TH_EXEC_TAG, TH_POP_TAG, and TH_PUSH_TAG.
| VALUE rb_check_block_call | ( | VALUE | obj, |
| ID | mid, | ||
| int | argc, | ||
| VALUE * | argv, | ||
| VALUE(*)(ANYARGS) | bl_proc, | ||
| VALUE | data2 | ||
| ) |
Definition at line 1152 of file vm_eval.c.
References argc, iter_method_arg::argc, argv, iter_method_arg::argv, iterate_check_method(), iter_method_arg::mid, iter_method_arg::obj, and rb_iterate().
Referenced by take_items().
| VALUE rb_check_funcall | ( | VALUE | recv, |
| ID | mid, | ||
| int | argc, | ||
| VALUE * | argv | ||
| ) |
Definition at line 408 of file vm_eval.c.
References check_funcall_callable(), check_funcall_missing(), check_funcall_respond_to(), CLASS_OF, GET_THREAD(), NOEX_OK, Qundef, rb_search_method_entry(), stack_check(), and vm_call0().
Referenced by convert_type(), enum_size(), enumerator_rewind(), exc_equal(), flo_cmp(), invcmp_recursive(), is_integer_p(), iterate_check_method(), make_exception(), marshal_dump(), marshal_load(), num_exact(), path_initialize(), rb_dlptr_s_to_ptr(), rb_fiddle_ptr_s_to_ptr(), rb_get_path_check_to_string(), rb_str_cmp_m(), time_timespec(), and try_convert_to_exception().
| VALUE rb_check_funcall_with_hook | ( | VALUE | recv, |
| ID | mid, | ||
| int | argc, | ||
| VALUE * | argv, | ||
| rb_check_funcall_hook * | hook, | ||
| VALUE | arg | ||
| ) |
Definition at line 427 of file vm_eval.c.
References argc, argv, check_funcall_callable(), check_funcall_missing(), check_funcall_respond_to(), CLASS_OF, FALSE, GET_THREAD(), NOEX_OK, Qundef, rb_search_method_entry(), rescue_funcall_args::recv, stack_check(), TRUE, and vm_call0().
| VALUE rb_current_realfilepath | ( | void | ) |
Definition at line 1944 of file vm_eval.c.
References rb_iseq_location_struct::absolute_path, rb_thread_struct::cfp, GET_THREAD(), rb_control_frame_struct::iseq, rb_iseq_struct::location, Qnil, RUBY_VM_PREVIOUS_CONTROL_FRAME, and vm_get_ruby_level_caller_cfp().
Referenced by eval_string_with_cref(), f_current_dirname(), and rb_f_require_relative().
Definition at line 1165 of file vm_eval.c.
References CALL_FCALL, and rb_call().
| VALUE rb_eval_cmd | ( | VALUE | cmd, |
| VALUE | arg, | ||
| int | level | ||
| ) |
Definition at line 1453 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_TYPE_P, rb_vm_top_self(), and T_STRING.
Referenced by rb_trace_eval(), run_single_final(), signal_exec(), and tk_eval_cmd().
| VALUE rb_eval_string | ( | const char * | str | ) |
Evaluates the given string in an isolated binding.
Here "isolated" means the binding does not inherit any other binding. This behaves same as the binding for required libraries.
__FILE__ will be "(eval)", and __LINE__ starts from 1 in the evaluation.
| str | Ruby code to evaluate. |
| Exception | Raises an exception on error. |
Definition at line 1393 of file vm_eval.c.
References ruby_eval_string_from_file().
Referenced by foletype_s_typelibs(), ip_ruby_eval(), and rb_eval_string_protect().
| VALUE rb_eval_string_protect | ( | const char * | str, |
| int * | state | ||
| ) |
Evaluates the given string in an isolated binding.
__FILE__ will be "(eval)", and __LINE__ starts from 1 in the evaluation.
| str | Ruby code to evaluate. |
| state | Being set to zero if succeeded. Nonzero if an error occurred. |
Definition at line 1409 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().
| VALUE rb_eval_string_wrap | ( | const char * | str, |
| int * | state | ||
| ) |
Evaluates the given string under a module binding in an isolated binding.
This is same as the binding for required libraries on "require('foo', true)".
__FILE__ will be "(eval)", and __LINE__ starts from 1 in the evaluation.
| str | Ruby code to evaluate. |
| state | Being set to zero if succeeded. Nonzero if an error occurred. |
Definition at line 1426 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 1929 of file vm_eval.c.
References rb_thread_struct::cfp, GET_THREAD(), Qfalse, Qtrue, RUBY_VM_PREVIOUS_CONTROL_FRAME, VM_CF_BLOCK_PTR(), and vm_get_ruby_level_caller_cfp().
Referenced by Init_vm_eval().
| static VALUE rb_f_catch | ( | int | argc, |
| VALUE * | argv | ||
| ) | [static] |
Definition at line 1802 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 1322 of file vm_eval.c.
References eval_string(), NIL_P, NUM2INT, OBJ_TAINTED, Qundef, rb_eSecurityError, rb_raise(), rb_safe_level, rb_scan_args(), SafeStringValue, and StringValue.
Referenced by bind_eval(), and Init_vm_eval().
| static VALUE rb_f_local_variables | ( | void | ) | [static] |
Definition at line 1865 of file vm_eval.c.
References rb_thread_struct::cfp, rb_control_frame_struct::ep, GET_THREAD(), ID2SYM, rb_control_frame_struct::iseq, 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_CF_PREV_EP(), vm_collect_local_variables_in_heap(), VM_EP_LEP_P, and vm_get_ruby_level_caller_cfp().
Referenced by Init_vm_eval().
Definition at line 1018 of file vm_eval.c.
References loop_i(), Qnil, rb_eStopIteration, rb_f_loop_size(), rb_rescue2(), and RETURN_SIZED_ENUMERATOR.
Referenced by Init_vm_eval().
| static VALUE rb_f_loop_size | ( | VALUE | self, |
| VALUE | args | ||
| ) | [static] |
| VALUE rb_f_public_send | ( | int | argc, |
| VALUE * | argv, | ||
| VALUE | recv | ||
| ) |
Definition at line 919 of file vm_eval.c.
References CALL_PUBLIC, and send_internal().
Referenced by Init_vm_eval().
Definition at line 902 of file vm_eval.c.
References CALL_FCALL, and send_internal().
Referenced by Init_vm_eval().
| static VALUE rb_f_throw | ( | int | argc, |
| VALUE * | argv | ||
| ) | [static] |
Definition at line 1720 of file vm_eval.c.
References rb_scan_args(), and rb_throw_obj().
Referenced by Init_vm_eval().
| VALUE rb_funcall | ( | VALUE | recv, |
| ID | mid, | ||
| int | n, | ||
| ... | |||
| ) |
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 773 of file vm_eval.c.
References ALLOCA_N, argv, CALL_FCALL, rb_call(), and va_init_list.
Referenced by _thread_call_proc_core(), _thread_call_proc_value(), add(), argument_error(), ary2list(), ary2list2(), BigDecimal_power(), BigDecimal_to_i(), BigDecimal_to_r(), binomial_coefficient(), 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_eq_recursive(), 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(), cState_aref(), cState_aset(), cState_from_state_s(), default_inspect(), descending_factorial(), dir_inspect(), divmodv(), DupPrivPKeyPtr(), encoding_table_get_name_core(), enum_cycle_size(), enum_each_cons_size(), enum_each_slice_size(), 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_minus_one_p(), f_negative_p(), f_odd_p(), f_one_p(), f_sub(), f_to_f(), f_zero_p(), fix_and(), fix_or(), fix_pow(), fix_xor(), 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(), generate_json(), generate_json_bignum(), generate_json_float(), generate_json_object(), generate_json_string(), 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(), hash_default_value(), hidden_identity_hash_new(), Init_generator(), Init_parser(), Init_syslog(), Init_win32ole(), initialize(), inject_op_i(), int_dotimes(), int_dotimes_size(), 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(), lazy_drop_size(), lazy_flat_map_func(), lazy_flat_map_to_ary(), lazy_grep_func(), lazy_grep_iter(), lazy_map_func(), lazy_reject_func(), lazy_select_func(), lazy_zip_arrays_func(), lazy_zip_func(), 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(), make_no_method_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(), mlambda(), mnew(), mObject_to_json(), mod(), mString_Extend_json_create(), mString_included_s(), mString_to_json_raw_object(), mul(), negate_lit(), negative_int_p(), num_abs(), num_div(), num_equal(), num_fdiv(), num_interval_step_size(), 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(), positive_int_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(), range_bsearch(), range_check(), range_each_func(), range_eqq(), range_max(), range_min(), range_step(), range_step_size(), rb_ary_bsearch(), rb_ary_cycle_size(), rb_ary_repeated_permutation_size(), 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_default(), rb_inspect(), rb_int_pred(), rb_int_succ(), rb_io_flush(), rb_io_write(), rb_mod_include(), rb_mod_prepend(), rb_num_coerce_bin(), rb_num_coerce_bit(), rb_num_coerce_cmp(), rb_num_coerce_relop(), rb_obj_as_string(), rb_obj_clone(), rb_obj_dup(), rb_obj_extend(), rb_obj_init_dup_clone(), rb_obj_not_equal(), rb_obj_not_match(), rb_range_values(), rb_str_match(), rb_str_sum(), rb_str_upto(), rb_strftime_with_timespec(), readline_attempted_completion_function(), recursive_cmp(), reduce0(), rescue_callback(), rt_complete_frags(), set_backtrace(), set_max_block_time(), set_option_encoding_once(), set_state_ivars(), shift(), slicebefore_i(), slicebefore_ii(), sockopt_unpack(), sort_2(), sort_by_cmp(), ssl_renegotiation_cb(), step_i(), strscan_get_charpos(), sub(), sym_step_i(), syserr_eqq(), tcl2rb_bool(), tcl_protect_core(), time_timespec(), tk_funcall(), tk_install_cmd_core(), TkStringValue(), to_strkey(), transcode_io(), unknown_keyword_error(), unlink_body(), unlink_rescue(), wadd(), wcmp(), wdivmod(), weq(), wmul(), wquo(), writer(), and wsub().
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 804 of file vm_eval.c.
References CALL_FCALL, and rb_call().
Referenced by asn1time_to_time(), basic_obj_respond_to(), callback(), check_funcall_exec(), check_match(), cleanup_iseq_build(), dir_open_dir(), getc_call(), io_getch(), lazy_drop_func(), lazy_drop_while_func(), lazy_flat_map_i(), lazy_take_func(), lazy_take_while_func(), method_missing(), mproc(), nucomp_f_complex(), nucomp_rationalize(), nurat_f_rational(), obj_respond_to(), path_binread(), path_each_line(), path_open(), path_read(), path_readlines(), path_s_glob(), path_sub(), path_sysopen(), r_byte(), r_byte1_buffered(), r_bytes1(), r_bytes1_buffered(), r_object0(), 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_obj_respond_to(), rb_random_bytes(), rb_random_int32(), rb_random_real(), rb_random_ulong_limited(), rb_str_match_m(), require_libraries(), strio_readbyte(), strio_readchar(), strio_readline(), strio_sysread(), tk_do_callback(), tk_fromUTF8(), tk_toUTF8(), vm_call0_body(), and w_object().
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 819 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 825 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(), and rb_f_sub().
| VALUE rb_funcall_with_block | ( | VALUE | recv, |
| ID | mid, | ||
| int | argc, | ||
| const VALUE * | argv, | ||
| VALUE | pass_procval | ||
| ) |
Definition at line 833 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 1031 of file vm_eval.c.
References rb_method_entry_struct::called_id, rb_thread_struct::cfp, rb_control_frame_struct::ep, err, rb_thread_struct::errinfo, EXEC_EVENT_HOOK, GET_THREAD(), GET_THROWOBJ_CATCH_POINT, GET_THROWOBJ_VAL, rb_block_struct::iseq, rb_method_entry_struct::klass, rb_control_frame_struct::me, NEW_IFUNC, node, rb_thread_struct::passed_block, rb_block_struct::proc, Qnil, rb_frame_this_func(), RUBY_DTRACE_CMETHOD_RETURN_HOOK, RUBY_EVENT_C_RETURN, RUBY_VM_GET_BLOCK_PTR_IN_CFP, RUBY_VM_PREVIOUS_CONTROL_FRAME, rb_control_frame_struct::self, rb_thread_struct::state, TAG_BREAK, TAG_RETRY, TH_EXEC_TAG, TH_JUMP_TAG, TH_POP_TAG, TH_PUSH_TAG, UNLIKELY, VM_CF_BLOCK_PTR(), VM_FRAME_MAGIC_CFUNC, and VM_FRAME_TYPE.
Referenced by call_lexer(), method_proc(), rb_block_call(), rb_check_block_call(), and rb_proc_new().
| static int rb_method_call_status | ( | rb_thread_t * | th, |
| const rb_method_entry_t * | me, | ||
| call_type | scope, | ||
| VALUE | self | ||
| ) | [inline, static] |
Definition at line 526 of file vm_eval.c.
References CALL_PUBLIC, CALL_VCALL, rb_method_entry_struct::called_id, 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(), RB_TYPE_P, RBASIC, rb_thread_struct::safe_level, T_ICLASS, UNDEFINED_METHOD_ENTRY_P, and UNLIKELY.
Referenced by check_funcall_callable(), and rb_call0().
| static VALUE rb_method_missing | ( | int | argc, |
| const VALUE * | argv, | ||
| VALUE | obj | ||
| ) | [static] |
Definition at line 624 of file vm_eval.c.
References GET_THREAD(), rb_thread_struct::method_missing_reason, and raise_method_missing().
Referenced by Init_vm_eval().
| VALUE rb_mod_module_eval | ( | int | argc, |
| VALUE * | argv, | ||
| VALUE | mod | ||
| ) |
Definition at line 1676 of file vm_eval.c.
References specific_eval().
Referenced by Init_vm_eval(), and rb_struct_s_def().
| VALUE rb_mod_module_exec | ( | int | argc, |
| VALUE * | argv, | ||
| VALUE | mod | ||
| ) |
Definition at line 1702 of file vm_eval.c.
References rb_ary_new4(), and yield_under().
Referenced by Init_vm_eval(), and rb_mod_initialize().
| VALUE rb_obj_instance_eval | ( | int | argc, |
| VALUE * | argv, | ||
| VALUE | self | ||
| ) |
Definition at line 1605 of file vm_eval.c.
References rb_singleton_class(), rb_special_singleton_class(), SPECIAL_CONST_P, and specific_eval().
Referenced by Init_vm_eval(), and tk_s_new().
| VALUE rb_obj_instance_exec | ( | int | argc, |
| VALUE * | argv, | ||
| VALUE | self | ||
| ) |
Definition at line 1637 of file vm_eval.c.
References rb_ary_new4(), rb_singleton_class(), rb_special_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 728 of file vm_eval.c.
References NOEX_MISSING, rb_thread_struct::passed_block, and raise_method_missing().
Referenced by vm_call_method().
| static rb_method_entry_t * rb_search_method_entry | ( | VALUE | recv, |
| ID | mid, | ||
| VALUE * | defined_class_ptr | ||
| ) | [inline, static] |
Definition at line 484 of file vm_eval.c.
References BUILTIN_TYPE, CLASS_OF, PRIsVALUE, PRIxVALUE, rb_eNotImpError, rb_id2str(), rb_method_entry(), rb_raise(), rb_type_str(), RBASIC, SPECIAL_CONST_P, T_NIL, T_OBJECT, and type.
Referenced by rb_call0(), rb_check_funcall(), and rb_check_funcall_with_hook().
Definition at line 1753 of file vm_eval.c.
References ID2SYM, rb_intern, and rb_throw_obj().
| void rb_throw_obj | ( | VALUE | tag, |
| VALUE | value | ||
| ) |
Definition at line 1730 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_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 const char* rb_type_str | ( | enum ruby_value_type | type | ) | [static] |
Definition at line 449 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, | ||
| VALUE | defined_class | ||
| ) |
Definition at line 243 of file vm_eval.c.
References vm_call0().
Referenced by rb_method_call_with_block().
Definition at line 933 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(), int_dotimes(), int_downto(), int_upto(), io_s_foreach(), lazy_grep_iter(), lazy_reject_func(), lazy_select_func(), 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_bsearch(), 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_fiddle_handle_initialize(), 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_mutex_synchronize_m(), rb_obj_tap(), rb_reg_match_m(), rb_str_enumerate_bytes(), rb_str_enumerate_chars(), rb_str_enumerate_codepoints(), rb_str_enumerate_lines(), rb_str_match_m(), rb_str_scan(), rb_str_sub_bang(), rb_str_upto(), rb_struct_each(), rb_struct_each_pair(), rb_struct_select(), rb_thread_s_handle_interrupt(), 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(), sym_each_i(), sym_step_i(), tracepoint_disable_m(), tracepoint_enable_m(), window_attron(), zip_ary(), zip_i(), zstream_detach_buffer(), and zstream_expand_buffer().
| static VALUE rb_yield_0 | ( | int | argc, |
| const VALUE * | argv | ||
| ) | [inline, static] |
Definition at line 927 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().
| VALUE rb_yield_refine_block | ( | VALUE | refinement, |
| VALUE | refinements | ||
| ) |
Definition at line 1516 of file vm_eval.c.
References rb_thread_struct::cfp, RNode::flags, GET_THREAD(), NODE_FL_CREF_PUSHED_BY_EVAL, NOEX_PUBLIC, NULL, rb_block_struct::self, VM_CF_BLOCK_PTR(), VM_CF_LEP(), vm_cref_push(), VM_ENVVAL_BLOCK_PTR, and vm_yield_with_cref().
Referenced by rb_mod_refine().
| VALUE rb_yield_splat | ( | VALUE | values | ) |
Definition at line 972 of file vm_eval.c.
References NIL_P, RARRAY_LENINT, RARRAY_PTR, rb_check_array_type(), rb_eArgError, rb_raise(), and rb_yield_0().
| VALUE rb_yield_values | ( | int | n, |
| ... | |||
| ) |
Definition at line 944 of file vm_eval.c.
References ALLOCA_N, args, argv, 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(), rb_hash_update_block_callback(), select_i(), and sort_1().
| VALUE rb_yield_values2 | ( | int | argc, |
| const VALUE * | argv | ||
| ) |
Definition at line 966 of file vm_eval.c.
References rb_yield_0().
Referenced by lazy_drop_while_func(), lazy_flat_map_func(), lazy_init_iterator(), lazy_map_func(), lazy_take_while_func(), and yielder_yield_i().
| VALUE ruby_eval_string_from_file | ( | const char * | str, |
| const char * | filename | ||
| ) |
Definition at line 1353 of file vm_eval.c.
References eval_string(), Qnil, rb_str_new2(), rb_str_new_cstr(), and rb_vm_top_self().
Referenced by rb_eval_string().
| VALUE ruby_eval_string_from_file_protect | ( | const char * | str, |
| const char * | filename, | ||
| int * | state | ||
| ) |
Definition at line 1372 of file vm_eval.c.
References eval_string_from_file_helper(), eval_string_from_file_arg::filename, rb_protect(), rb_str_new_cstr(), and eval_string_from_file_arg::str.
Referenced by pruby_eval().
Definition at line 850 of file vm_eval.c.
References CALL_PUBLIC, rb_thread_struct::cfp, CLASS_OF, GET_THREAD(), id, make_no_method_exception(), NULL, PASS_PASSED_BLOCK_TH, Qundef, rb_call0(), rb_check_id(), rb_eArgError, rb_eNoMethodError, rb_exc_raise(), rb_method_basic_definition_p(), rb_raise(), rb_to_id(), and RUBY_VM_PREVIOUS_CONTROL_FRAME.
Referenced by rb_f_public_send(), rb_f_send(), and vm_call0_body().
| static VALUE specific_eval | ( | int | argc, |
| VALUE * | argv, | ||
| VALUE | klass, | ||
| VALUE | self | ||
| ) | [static] |
Definition at line 1554 of file vm_eval.c.
References eval_under(), NIL_P, NUM2INT, Qundef, rb_block_given_p(), rb_check_arity, rb_safe_level, SafeStringValue, StringValue, and yield_under().
Referenced by rb_mod_module_eval(), and rb_obj_instance_eval().
| static void stack_check | ( | void | ) | [inline, static] |
Definition at line 280 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 raise_method_missing(), rb_call0(), rb_check_funcall(), and rb_check_funcall_with_hook().
| VALUE vm_backtrace_str_ary | ( | rb_thread_t * | th, |
| int | lev, | ||
| int | n | ||
| ) |
| static VALUE vm_call0 | ( | rb_thread_t * | th, |
| VALUE | recv, | ||
| ID | id, | ||
| int | argc, | ||
| const VALUE * | argv, | ||
| const rb_method_entry_t * | me, | ||
| VALUE | defined_class | ||
| ) | [static] |
Definition at line 37 of file vm_eval.c.
References argc, rb_call_info_struct::argc, rb_call_info_struct::defined_class, rb_call_info_struct::flag, id, rb_call_info_struct::me, rb_call_info_struct::mid, rb_call_info_struct::recv, and vm_call0_body().
Referenced by check_funcall_respond_to(), rb_call0(), rb_check_funcall(), rb_check_funcall_with_hook(), rb_vm_call(), and vm_call_super().
| static VALUE vm_call0_body | ( | rb_thread_t * | th, |
| rb_call_info_t * | ci, | ||
| const VALUE * | argv | ||
| ) | [static] |
Definition at line 140 of file vm_eval.c.
References rb_call_info_struct::argc, rb_method_definition_struct::attr, rb_call_info_struct::blockptr, rb_method_definition_struct::body, CALL_FCALL, rb_thread_struct::cfp, CHECK_VM_STACK_OVERFLOW, rb_method_entry_struct::def, rb_call_info_struct::defined_class, rb_control_frame_struct::flag, GetProcPtr, rb_method_attr_struct::id, ID2SYM, rb_call_info_struct::me, method_missing(), rb_call_info_struct::mid, new_args, NOEX_SUPER, rb_method_definition_struct::optimize_type, rb_method_definition_struct::orig_me, rb_thread_struct::passed_block, Qnil, Qundef, RARRAY_PTR, rb_ary_new4(), rb_ary_unshift(), rb_attr_get(), rb_bug(), rb_check_arity, rb_funcall2(), RB_GC_GUARD, rb_ivar_set(), rb_method_entry(), rb_vm_invoke_proc(), RCLASS_SUPER, rb_call_info_struct::recv, RUBY_VM_CHECK_INTS, send_internal(), rb_control_frame_struct::sp, rb_method_definition_struct::type, vm_call0_cfunc(), vm_call_bmethod_body(), vm_call_iseq_setup(), vm_exec(), VM_FRAME_FLAG_FINISH, 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_REFINED, VM_METHOD_TYPE_UNDEF, and VM_METHOD_TYPE_ZSUPER.
Referenced by vm_call0().
| static VALUE vm_call0_cfunc | ( | rb_thread_t * | th, |
| rb_call_info_t * | ci, | ||
| const VALUE * | argv | ||
| ) | [static] |
Definition at line 132 of file vm_eval.c.
References vm_call0_cfunc_with_frame().
Referenced by vm_call0_body().
| static VALUE vm_call0_cfunc_with_frame | ( | rb_thread_t * | th, |
| rb_call_info_t * | ci, | ||
| const VALUE * | argv | ||
| ) | [static] |
Definition at line 94 of file vm_eval.c.
References rb_method_cfunc_struct::argc, argc, rb_call_info_struct::argc, rb_call_info_struct::blockptr, rb_method_definition_struct::body, rb_thread_struct::cfp, rb_method_definition_struct::cfunc, rb_method_entry_struct::def, rb_call_info_struct::defined_class, EXEC_EVENT_HOOK, rb_method_cfunc_struct::func, rb_method_cfunc_struct::invoker, rb_call_info_struct::me, rb_call_info_struct::mid, Qnil, rb_bug(), rb_check_arity, rb_call_info_struct::recv, RUBY_DTRACE_CMETHOD_ENTRY_HOOK, RUBY_DTRACE_CMETHOD_RETURN_HOOK, RUBY_EVENT_C_CALL, RUBY_EVENT_C_RETURN, rb_control_frame_struct::sp, UNLIKELY, VM_ENVVAL_BLOCK_PTR, VM_FRAME_MAGIC_CFUNC, vm_pop_frame(), VM_PROFILE_UP, and vm_push_frame().
Referenced by vm_call0_cfunc().
| static VALUE vm_call_super | ( | rb_thread_t * | th, |
| int | argc, | ||
| const VALUE * | argv | ||
| ) | [inline, static] |
Definition at line 250 of file vm_eval.c.
References rb_thread_struct::cfp, rb_method_entry_struct::def, id, rb_control_frame_struct::iseq, rb_control_frame_struct::klass, rb_control_frame_struct::me, method_missing(), NIL_P, NOEX_SUPER, rb_method_definition_struct::original_id, rb_bug(), rb_method_entry(), RCLASS_SUPER, rb_control_frame_struct::self, and vm_call0().
Referenced by rb_call_super().
| static int vm_collect_local_variables_in_heap | ( | rb_thread_t * | th, |
| VALUE * | dfp, | ||
| VALUE | ary | ||
| ) | [static] |
Referenced by rb_f_local_variables().
| static NODE* vm_cref_push | ( | rb_thread_t * | th, |
| VALUE | klass, | ||
| int | noex, | ||
| rb_block_t * | blockptr | ||
| ) | [static] |
Referenced by eval_under(), rb_yield_refine_block(), and yield_under().
| static VALUE vm_exec | ( | rb_thread_t * | th | ) | [static] |
Referenced by eval_string_with_cref(), and vm_call0_body().
| static void vm_set_eval_stack | ( | rb_thread_t * | th, |
| VALUE | iseqval, | ||
| const NODE * | cref, | ||
| rb_block_t * | base_block | ||
| ) | [static] |
Referenced by eval_string_with_cref().
| static VALUE vm_yield | ( | rb_thread_t * | th, |
| int | argc, | ||
| const VALUE * | argv | ||
| ) | [inline, static] |
Referenced by rb_yield_0().
| static VALUE vm_yield_with_cref | ( | rb_thread_t * | th, |
| int | argc, | ||
| const VALUE * | argv, | ||
| const NODE * | cref | ||
| ) | [inline, static] |
Referenced by rb_yield_refine_block(), and yield_under().
| static VALUE yield_under | ( | VALUE | under, |
| VALUE | self, | ||
| VALUE | values | ||
| ) | [static] |
Definition at line 1493 of file vm_eval.c.
References rb_thread_struct::cfp, RNode::flags, GET_THREAD(), NODE_FL_CREF_PUSHED_BY_EVAL, NOEX_PUBLIC, Qundef, RARRAY_LENINT, RARRAY_PTR, rb_block_struct::self, VM_CF_BLOCK_PTR(), VM_CF_LEP(), vm_cref_push(), VM_ENVVAL_BLOCK_PTR, and vm_yield_with_cref().
Referenced by rb_mod_module_exec(), rb_obj_instance_exec(), and specific_eval().
1.7.6.1