Ruby
2.4.2p198(2017-09-14revision59899)
|
#include "internal.h"
#include "eval_intern.h"
#include "iseq.h"
#include "gc.h"
#include "ruby/vm.h"
#include "vm_core.h"
#include "probes_helper.h"
#include "eval_error.c"
#include "eval_jump.c"
Go to the source code of this file.
Macros | |
#define | id_signo ruby_static_id_signo |
#define | id_status ruby_static_id_status |
#define | exception_error GET_VM()->special_exceptions[ruby_error_reenter] |
#define | CLASS_OR_MODULE_P(obj) |
Enumerations | |
enum | { raise_opt_cause, raise_max_opt } |
Variables | |
VALUE | rb_eLocalJumpError |
VALUE | rb_eSysStackError |
ID | ruby_static_id_signo |
ID | ruby_static_id_status |
static ID | id_cause |
VALUE | rb_eThreadError |
#define CLASS_OR_MODULE_P | ( | obj | ) |
Definition at line 37 of file eval.c.
Referenced by rb_mod_append_features(), and rb_mod_prepend_features().
#define exception_error GET_VM()->special_exceptions[ruby_error_reenter] |
Definition at line 32 of file eval.c.
Referenced by setup_exception().
#define id_signo ruby_static_id_signo |
Definition at line 29 of file eval.c.
Referenced by error_handle(), Init_eval(), and ruby_cleanup().
#define id_status ruby_static_id_status |
Definition at line 30 of file eval.c.
Referenced by Init_eval().
|
static |
Definition at line 1247 of file eval.c.
References FL_SET, NIL_P, rb_hash_aset(), rb_hash_lookup(), rb_include_class_new(), RB_TYPE_P, RBASIC, RCLASS_REFINED_CLASS, RCLASS_SET_SUPER(), RCLASS_SUPER, RMODULE_IS_OVERLAID, and T_ICLASS.
Referenced by rb_mod_refine().
|
static |
Definition at line 1129 of file eval.c.
References PRIsVALUE, rb_eTypeError, rb_obj_class(), rb_raise(), RB_TYPE_P, T_CLASS, and T_MODULE.
Referenced by rb_mod_refine(), and rb_using_refinement().
Definition at line 1645 of file eval.c.
References err, get_errinfo(), NIL_P, Qnil, and rb_get_backtrace().
Referenced by Init_eval().
Definition at line 1657 of file eval.c.
References err, get_errinfo(), NIL_P, rb_eArgError, rb_raise(), and set_backtrace().
Referenced by Init_eval().
Definition at line 1598 of file eval.c.
References errinfo_place(), get_errinfo(), GET_THREAD, NIL_P, rb_eException, rb_eRuntimeError, rb_eTypeError, rb_obj_is_kind_of(), rb_raise(), and val.
Referenced by Init_eval().
|
static |
Definition at line 1558 of file eval.c.
References rb_iseq_struct::body, rb_thread_struct::cfp, rb_control_frame_struct::ep, FIXNUM_P, rb_control_frame_struct::iseq, RUBY_VM_END_CONTROL_FRAME, RUBY_VM_PREVIOUS_CONTROL_FRAME, RUBY_VM_VALID_CONTROL_FRAME_P, THROW_DATA_P, rb_iseq_constant_body::type, VM_ENV_INDEX_LAST_LVAR, and VM_FRAME_RUBYFRAME_P().
Referenced by errinfo_getter(), and get_thread_errinfo().
Definition at line 442 of file eval.c.
References CONST_ID, INT2FIX, NIL_P, OBJ_FREEZE, Qnil, rb_attr_get(), rb_eFatal, rb_exc_new_cstr(), rb_ivar_defined(), and rb_ivar_set().
Referenced by setup_exception().
Definition at line 646 of file eval.c.
References argc, CONST_ID, Qundef, raise_max_opt, rb_get_kwargs(), RB_TYPE_P, RHASH_EMPTY_P, and T_HASH.
Referenced by rb_f_raise().
|
static |
Definition at line 1722 of file eval.c.
References NIL_P, Qnil, rb_current_realfilepath(), and rb_file_dirname().
Referenced by Init_eval().
|
static |
Definition at line 966 of file eval.c.
References rb_callable_method_entry_struct::called_id, and rb_vm_frame_method_entry().
Referenced by prev_frame_callee(), and rb_frame_callee().
|
static |
Definition at line 953 of file eval.c.
References rb_callable_method_entry_struct::def, rb_method_definition_struct::original_id, and rb_vm_frame_method_entry().
Referenced by prev_frame_func(), rb_frame_last_func(), and rb_frame_this_func().
|
static |
Definition at line 1592 of file eval.c.
References GET_THREAD, and get_thread_errinfo().
Referenced by errat_getter(), errat_setter(), errinfo_getter(), rb_f_raise(), rb_frozen_class_p(), and rb_rubylevel_errinfo().
|
static |
Definition at line 1580 of file eval.c.
References rb_thread_struct::errinfo, and errinfo_place().
Referenced by get_errinfo(), rb_frozen_class_p(), rb_threadptr_setup_exception(), and setup_exception().
|
static |
Definition at line 1139 of file eval.c.
References hash(), rb_ident_hash_new(), and RBASIC_CLEAR_CLASS.
Referenced by rb_mod_refine(), and rb_using_refinement().
Definition at line 1332 of file eval.c.
References rb_search_class_path(), rb_warn(), and RTEST.
Referenced by mod_using(), and top_using().
void Init_eval | ( | void | ) |
Definition at line 1733 of file eval.c.
References errat_getter(), errat_setter(), errinfo_getter(), f_current_dirname(), id_signo, id_status, Init_eval_method(), Init_vm_eval(), mod_using(), rb_cClass, rb_cModule, rb_define_global_function(), rb_define_method(), rb_define_private_method(), rb_define_singleton_method(), rb_define_virtual_variable(), rb_eFatal, rb_f_callee_name(), rb_f_global_variables(), rb_f_method_name(), rb_f_raise(), rb_f_trace_var(), rb_f_untrace_var(), rb_intern_const, rb_mKernel, rb_mod_append_features(), rb_mod_extend_object(), rb_mod_include(), rb_mod_nesting(), rb_mod_prepend(), rb_mod_prepend_features(), rb_mod_refine(), rb_mod_s_constants(), rb_mod_s_used_modules(), rb_obj_extend(), rb_singleton_class(), rb_undef_method(), rb_vm_register_special_exception(), rb_vm_top_self(), ruby_error_reenter, top_include(), and top_using().
Definition at line 714 of file eval.c.
References NIL_P, Qnil, Qundef, rb_check_arity, rb_check_funcall(), rb_check_string_type(), rb_eException, rb_eRuntimeError, rb_eTypeError, rb_exc_new3, rb_obj_is_kind_of(), rb_raise(), set_backtrace(), and sysstack_error_p().
Referenced by rb_exc_fatal(), rb_exc_raise(), rb_longjmp(), and rb_make_exception().
Definition at line 1350 of file eval.c.
References GET_THREAD, ignored_block(), prev_frame_func(), previous_frame(), rb_block_given_p(), rb_eRuntimeError, rb_raise(), rb_using_module(), rb_vm_cref_replace_with_duplicated_cref(), and rb_control_frame_struct::self.
Referenced by Init_eval().
NORETURN | ( | void | rb_raise_jumpVALUE, VALUE | ) |
Referenced by rb_frozen_class_p().
NORETURN | ( | static void | rb_longjmpint, volatile VALUE, VALUE | ) |
|
static |
Definition at line 1002 of file eval.c.
References frame_called_id(), GET_THREAD, and previous_frame().
Referenced by rb_f_callee_name().
|
static |
Definition at line 1010 of file eval.c.
References frame_func_id(), GET_THREAD, and previous_frame().
Referenced by mod_using(), and rb_f_method_name().
|
static |
Definition at line 991 of file eval.c.
References rb_thread_struct::cfp, RUBY_VM_PREVIOUS_CONTROL_FRAME, rb_thread_struct::stack, and rb_thread_struct::stack_size.
Referenced by mod_using(), prev_frame_callee(), prev_frame_func(), and top_using().
int rb_block_given_p | ( | void | ) |
Definition at line 797 of file eval.c.
References rb_thread_struct::cfp, FALSE, GET_THREAD, rb_vm_frame_block_handler(), TRUE, and VM_BLOCK_HANDLER_NONE.
Referenced by argf_bytes(), argf_chars(), argf_codepoints(), argf_lines(), dh_generate(), dir_s_chdir(), dir_s_glob(), dir_s_open(), dsa_generate(), enc_str_scrub(), enum_count(), enum_find_index(), enum_grep(), enum_grep_v(), enum_inject(), enum_max(), enum_min(), enum_minmax(), enum_slice_after(), enum_slice_before(), enum_sum(), enum_uniq(), enum_zip(), enumerator_each(), enumerator_initialize(), env_delete_m(), env_fetch(), env_update_i(), etc_group(), etc_passwd(), fdbm_delete(), fdbm_fetch(), fdbm_fetch_m(), fdbm_s_open(), fgdbm_fetch(), fgdbm_fetch_m(), fgdbm_s_open(), fsdbm_delete(), fsdbm_fetch(), fsdbm_fetch_m(), fsdbm_s_open(), generator_initialize(), gzfile_wrap(), lazy_add_method(), lazy_drop_while(), lazy_flat_map(), lazy_grep(), lazy_grep_v(), lazy_initialize(), lazy_map(), lazy_reject(), lazy_select(), lazy_take_while(), lazy_to_enum(), lazy_uniq(), lazy_zip(), mod_using(), mSyslog_open(), obj_to_enum(), ossl_engine_s_by_id(), ossl_pem_passwd_cb(), ossl_x509store_verify(), p_gid_have_saved_id(), p_gid_switch(), p_uid_have_saved_id(), p_uid_switch(), pack_unpack(), path_each_line(), path_open(), path_s_glob(), path_sub(), pty_getpty(), pty_open(), range_max(), range_min(), rb_ary_any_p(), rb_ary_count(), rb_ary_delete(), rb_ary_fetch(), rb_ary_fill(), rb_ary_index(), rb_ary_initialize(), rb_ary_max(), rb_ary_min(), rb_ary_product(), rb_ary_rindex(), rb_ary_sort_bang(), rb_ary_sum(), rb_ary_uniq(), rb_ary_uniq_bang(), rb_ary_zip(), rb_exec_async_signal_safe(), rb_f_at_exit(), rb_f_open(), rb_fiddle_handle_initialize(), rb_gzreader_bytes(), rb_gzreader_lines(), rb_hash_any_p(), rb_hash_delete_m(), rb_hash_fetch_m(), rb_hash_initialize(), rb_hash_update(), rb_io_bytes(), rb_io_chars(), rb_io_codepoints(), rb_io_lines(), rb_io_s_new(), rb_io_s_open(), rb_io_s_pipe(), rb_io_s_popen(), rb_iterator_p(), rb_method_call(), rb_mod_initialize(), rb_mutex_synchronize_m(), rb_need_block(), rb_nmin_run(), rb_reg_match_m(), rb_scan_args(), 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_struct_s_def(), rb_thread_s_handle_interrupt(), rsa_generate(), sock_initialize(), specific_eval(), strio_bytes(), strio_chars(), strio_codepoints(), strio_lines(), strio_s_new(), strio_s_open(), thread_initialize(), top_using(), tracepoint_disable_m(), tracepoint_enable_m(), tracepoint_new_s(), zstream_detach_buffer(), zstream_expand_buffer(), and zstream_run().
Definition at line 923 of file eval.c.
References rb_ensure_entry::data2, rb_ensure_entry::e_proc, rb_thread_struct::ensure_list, rb_ensure_list::entry, rb_thread_struct::errinfo, EXEC_TAG, GET_THREAD, rb_ensure_entry::marker, rb_ensure_list::next, NIL_P, Qnil, RB_TYPE_P, result, T_OBJECT, TH_JUMP_TAG, TH_POP_TAG, and TH_PUSH_TAG.
Referenced by ary_reject_bang(), autoload_reset(), check_autoload_required(), dir_entries(), dir_foreach(), dir_s_chdir(), dir_s_open(), etc_getgrnam(), etc_getpwnam(), fdbm_s_open(), fgdbm_s_open(), fole_each(), fsdbm_s_open(), gzfile_reader_end(), gzfile_wrap(), gzfile_writer_end(), io_getch(), io_s_write(), load_file(), mSyslog_open(), p_gid_have_saved_id(), p_gid_switch(), p_uid_have_saved_id(), p_uid_switch(), parser_compile_error(), pipe_pair_close(), pty_getpty(), pty_open(), queue_do_pop(), rb_ary_select_bang(), rb_autoload_load(), rb_condvar_wait(), rb_deflate_s_deflate(), rb_execarg_spawn(), rb_f_open(), rb_f_select(), rb_fiddle_handle_initialize(), rb_file_identical_p(), rb_gvar_set(), rb_hash_assoc(), rb_hash_foreach(), rb_inflate_s_inflate(), rb_io_s_binread(), rb_io_s_copy_stream(), rb_io_s_foreach(), rb_io_s_open(), rb_io_s_pipe(), rb_io_s_popen(), rb_io_s_read(), rb_io_s_readlines(), rb_io_sysread(), rb_mutex_sleep(), rb_mutex_synchronize(), rb_objspace_each_objects(), rb_str_locktmp_ensure(), rb_szqueue_push(), rb_uninterruptible(), rb_wait_for_single_fd(), rsock_init_inetsock(), rsock_make_hostent(), sock_initialize(), strio_s_open(), thread_join(), trace_object_allocations(), tracepoint_disable_m(), tracepoint_enable_m(), udp_bind(), udp_connect(), and udp_send().
VALUE rb_errinfo | ( | void | ) |
Definition at line 1623 of file eval.c.
References rb_thread_struct::errinfo, and GET_THREAD.
Referenced by gzfile_read_raw_rescue(), init_libraries(), load_encoding(), rb_require_safe(), reg_compile_gen(), rescue_callback(), and run_finalizer().
void rb_exc_fatal | ( | VALUE | mesg | ) |
Definition at line 629 of file eval.c.
References FALSE, make_exception(), NIL_P, Qnil, rb_longjmp(), and TAG_FATAL.
Referenced by rb_fatal().
void rb_exc_raise | ( | VALUE | mesg | ) |
Definition at line 620 of file eval.c.
References FALSE, make_exception(), NIL_P, Qundef, rb_longjmp(), and TAG_RAISE.
Referenced by cannot_be_coerced_into_BigDecimal(), check_funcall_failed(), cleanup_iseq_build(), cont_capture(), domain_error(), econv_convert(), econv_finish(), econv_init(), econv_s_search_convpath(), enc_raise(), eval_string_with_cref(), feature_option(), fiber_store(), fiber_switch(), fptr_finalize_flush(), get_next_values(), get_pat_quoted(), gzfile_raise(), ignore_closed_stream(), iseqw_s_compile_file(), make_readconv(), make_writeconv(), more_char(), ole_raise(), ossl_raise(), parse(), parser_set_encode(), process_sflag(), raise_argument_error(), raise_from_check(), raise_loaderror(), raise_method_missing(), raise_zlib_error(), rb_econv_check_error(), rb_econv_init_by_convpath(), rb_enc_raise(), rb_enc_reg_raise(), rb_error_arity(), rb_exit(), rb_f_abort(), rb_file_expand_path_internal(), rb_io_initialize(), rb_iseq_compile_with_option(), rb_keyword_error(), rb_load_internal(), rb_memerror(), rb_mod_sys_fail(), rb_mod_sys_fail_str(), rb_mod_syserr_fail(), rb_mod_syserr_fail_str(), rb_name_error(), rb_name_error_str(), rb_raise(), rb_readwrite_syserr_fail(), rb_reg_raise_str(), rb_require_safe(), rb_sys_fail(), rb_sys_fail_str(), rb_syserr_fail(), rb_syserr_fail_str(), rb_threadptr_execute_interrupts(), rb_throw_obj(), rb_vm_jump_tag_but_local_jump(), rb_vm_localjump_error(), read_all(), ruby_thread_stack_overflow(), send_internal(), stack_check(), thread_join(), transcode_loop(), unexpected_type(), vm_call_opt_send(), vm_stackoverflow(), and w32error_raise().
Definition at line 1429 of file eval.c.
References rb_include_module(), and rb_singleton_class().
Referenced by append_extmod(), Init_etc(), Init_Exception(), Init_Hash(), Init_readline(), InitVM_escape(), mSyslogMacros_included(), r_object0(), rb_eval_string_wrap(), rb_load_internal0(), rb_mod_extend_object(), rb_mod_sys_fail(), rb_mod_sys_fail_str(), rb_mod_syserr_fail(), and rb_mod_syserr_fail_str().
|
static |
Definition at line 1699 of file eval.c.
References ID2SYM, prev_frame_callee(), and Qnil.
Referenced by Init_eval().
|
static |
Definition at line 1677 of file eval.c.
References ID2SYM, prev_frame_func(), and Qnil.
Referenced by Init_eval().
Definition at line 692 of file eval.c.
References err, extract_raise_opts(), get_errinfo(), NIL_P, Qundef, raise_max_opt, raise_opt_cause, rb_eArgError, rb_make_exception(), rb_raise(), rb_raise_jump(), and UNREACHABLE.
Referenced by Init_eval().
ID rb_frame_callee | ( | void | ) |
Definition at line 985 of file eval.c.
References frame_called_id(), and GET_THREAD.
Referenced by error_pos_str(), rb_insecure_operation(), rb_secure(), set_const_visibility(), and set_method_visibility().
ID rb_frame_last_func | ( | void | ) |
Definition at line 1018 of file eval.c.
References rb_thread_struct::cfp, frame_func_id(), GET_THREAD, RUBY_VM_CONTROL_FRAME_STACK_OVERFLOW_P, and RUBY_VM_PREVIOUS_CONTROL_FRAME.
Referenced by exec_recursive(), and threadptr_recursive_hash_set().
ID rb_frame_this_func | ( | void | ) |
Definition at line 979 of file eval.c.
References frame_func_id(), and GET_THREAD.
Referenced by argf_forward(), lazy_set_args(), and rb_notimplement().
void rb_frozen_class_p | ( | VALUE | klass | ) |
Definition at line 396 of file eval.c.
References BUILTIN_TYPE, Check_Type, FL_SINGLETON, FL_TEST, get_errinfo(), get_thread_errinfo(), NORETURN(), OBJ_FROZEN, rb_error_frozen(), rb_ivar_get(), rb_longjmp(), SPECIAL_CONST_P, T_CLASS, T_ICLASS, and T_MODULE.
Referenced by ensure_includable(), rb_alias(), rb_deprecate_constant(), rb_method_entry_make(), rb_undef(), remove_method(), and set_const_visibility().
void rb_interrupt | ( | void | ) |
Definition at line 638 of file eval.c.
References rb_eInterrupt, and rb_raise().
Referenced by rb_signal_exec().
int rb_iterator_p | ( | void | ) |
Definition at line 809 of file eval.c.
References rb_block_given_p().
void rb_jump_tag | ( | int | tag | ) |
Definition at line 788 of file eval.c.
References JUMP_TAG, TAG_FATAL, unknown_longjmp_status, and UNLIKELY.
Referenced by BigDecimal_save_exception_mode(), BigDecimal_save_limit(), BigDecimal_save_rounding_mode(), decode_enum(), decode_int(), decode_time(), dh_generate(), dsa_generate(), establishShell(), fdbm_delete_if(), fgdbm_delete_if(), fsdbm_delete_if(), gzfile_wrap(), io_s_write(), ossl_buf2str(), ossl_membio2str(), ossl_ocspbres_add_status(), ossl_pkcs12_initialize(), ossl_pkcs7_s_encrypt(), ossl_pkcs7_s_sign(), ossl_pkcs7_verify(), ossl_pkey_new(), ossl_start_ssl(), parse(), pipe_open(), rb_exec_async_signal_safe(), rb_execarg_parent_start(), rb_io_s_binread(), rb_io_s_pipe(), rb_io_s_read(), readline_readline(), rsa_generate(), ttymode(), zstream_expand_buffer(), and zstream_run().
Definition at line 609 of file eval.c.
References argc, argv, GET_THREAD, make_exception(), rb_thread_raised_clear, setup_exception(), and TH_JUMP_TAG.
Referenced by rb_exc_fatal(), rb_exc_raise(), and rb_frozen_class_p().
Definition at line 763 of file eval.c.
References make_exception(), and TRUE.
Referenced by parser_set_encode(), rb_f_raise(), and rb_threadptr_raise().
Definition at line 1043 of file eval.c.
References Check_Type, CLASS_OR_MODULE_P, rb_include_module(), and T_CLASS.
Referenced by Init_eval().
Definition at line 1061 of file eval.c.
References argc, Check_Type, CONST_ID, rb_check_arity, rb_funcall(), T_MODULE, and UNLIMITED_ARGUMENTS.
Referenced by Init_eval(), and top_include().
|
static |
Definition at line 327 of file eval.c.
References RString::ary, CREF_CLASS(), CREF_NEXT(), CREF_PUSHED_BY_EVAL(), NIL_P, rb_ary_new(), rb_ary_push(), and rb_vm_cref().
Referenced by Init_eval().
Definition at line 1110 of file eval.c.
References argc, Check_Type, CONST_ID, rb_check_arity, rb_funcall(), T_MODULE, and UNLIMITED_ARGUMENTS.
Referenced by Init_eval().
Definition at line 1092 of file eval.c.
References Check_Type, CLASS_OR_MODULE_P, rb_prepend_module(), and T_CLASS.
Referenced by Init_eval().
Definition at line 1285 of file eval.c.
References add_activated_refinement(), block_handler_type_iseq, rb_thread_struct::cfp, CONST_ID, ensure_class_or_module(), FL_SET, GET_THREAD, hidden_identity_hash_new(), NIL_P, rb_attr_get(), rb_eArgError, rb_hash_aset(), rb_hash_lookup(), rb_ivar_set(), rb_module_new(), rb_raise(), rb_vm_frame_block_handler(), rb_yield_refine_block(), RCLASS_SET_SUPER(), RMODULE_IS_REFINEMENT, VM_BLOCK_HANDLER_NONE, and vm_block_handler_type().
Referenced by Init_eval().
Definition at line 366 of file eval.c.
References CREF_CLASS(), CREF_NEXT(), CREF_PUSHED_BY_EVAL(), NIL_P, rb_cModule, rb_const_list(), rb_mod_const_at(), rb_mod_const_of(), rb_mod_constants(), and rb_vm_cref().
Referenced by Init_eval().
|
static |
Definition at line 1406 of file eval.c.
References CREF_NEXT(), CREF_REFINEMENTS(), NIL_P, rb_ary_new(), rb_funcall(), rb_hash_foreach(), rb_intern, rb_vm_cref(), and used_modules_i().
Referenced by Init_eval().
void rb_need_block | ( | void | ) |
Definition at line 817 of file eval.c.
References Qnil, rb_block_given_p(), and rb_vm_localjump_error().
Referenced by generator_initialize(), and yielder_initialize().
Definition at line 1422 of file eval.c.
References PASS_PASSED_BLOCK_HANDLER, and rb_funcallv.
Referenced by rb_class_new_instance(), rb_digest_class_s_digest(), rb_proc_s_new(), and thread_s_new().
Definition at line 1494 of file eval.c.
References argc, Check_Type, CONST_ID, rb_check_arity, rb_funcall(), T_MODULE, and UNLIMITED_ARGUMENTS.
Referenced by Init_eval().
Definition at line 891 of file eval.c.
References rb_thread_struct::cfp, GET_THREAD, MEMCPY, rb_vm_protect_tag::prev, rb_thread_struct::protect_tag, Qnil, rb_vm_rewind_cfp(), result, SAVE_ROOT_JMPBUF, TH_EXEC_TAG, TH_POP_TAG, and TH_PUSH_TAG.
Referenced by BigDecimal_save_exception_mode(), BigDecimal_save_limit(), BigDecimal_save_rounding_mode(), decode_enum(), decode_int(), decode_time(), EVENTSINK_Invoke(), exc_equal(), fdbm_delete_if(), fgdbm_delete_if(), fsdbm_delete_if(), goruby_run_node(), gzfile_wrap(), init_libraries(), io_s_write(), name_err_mesg_to_str(), ossl_buf2str(), ossl_client_cert_cb(), ossl_generate_cb_2(), ossl_ocspbres_add_status(), ossl_pem_passwd_cb(), ossl_pkcs12_initialize(), ossl_pkey_new(), ossl_protect_membio2str(), ossl_ssl_verify_callback(), ossl_sslctx_add_extra_chain_cert_i(), ossl_sslctx_session_get_cb(), ossl_sslctx_session_new_cb(), ossl_sslctx_session_remove_cb(), ossl_tmp_dh_callback(), ossl_verify_cb_call(), parse(), pipe_open(), pruby_obj_to_var(), rb_eval_string_protect(), rb_exec_async_signal_safe(), rb_execarg_parent_start(), rb_glob_caller(), rb_hash_fetch_m(), rb_io_s_binread(), rb_io_s_pipe(), rb_io_s_read(), readline_readline(), ruby_eval_string_from_file_protect(), ssl_renegotiation_cb(), sys_enc_warning_in(), ttymode(), zstream_expand_buffer(), and zstream_expand_buffer_protect().
Definition at line 769 of file eval.c.
References rb_callable_method_entry_struct::called_id, rb_thread_struct::cfp, rb_callable_method_entry_struct::def, EXEC_EVENT_HOOK, GET_THREAD, rb_method_definition_struct::original_id, rb_callable_method_entry_struct::owner, Qnil, rb_thread_raised_clear, rb_vm_frame_method_entry(), rb_vm_pop_frame(), RUBY_EVENT_C_RETURN, rb_control_frame_struct::self, setup_exception(), TAG_RAISE, and TH_JUMP_TAG.
Referenced by rb_f_raise().
Definition at line 1238 of file eval.c.
References CONST_ID, and rb_attr_get().
Referenced by ensure_includable(), include_modules_at(), rb_method_entry_make(), and rb_mod_to_s().
Definition at line 883 of file eval.c.
References rb_eStandardError, and rb_rescue2().
Referenced by do_coerce(), num_step_negative_p(), range_init(), sock_initialize(), and time_mload().
VALUE rb_rescue2 | ( | VALUE(*)(ANYARGS) | b_proc, |
VALUE | data1, | ||
VALUE(*)(ANYARGS) | r_proc, | ||
VALUE | data2, | ||
... | |||
) |
Definition at line 825 of file eval.c.
References rb_thread_struct::cfp, rb_thread_struct::errinfo, FALSE, GET_THREAD, Qfalse, Qnil, rb_obj_is_kind_of(), rb_vm_rewind_cfp(), result, TAG_RAISE, TAG_RETRY, TH_EXEC_TAG, TH_JUMP_TAG, TH_POP_TAG, TH_PUSH_TAG, TRUE, and va_init_list.
Referenced by argf_getpartial(), check_funcall_missing(), copy_stream_fallback(), gzfile_read_raw(), io_close(), lazy_zip_func(), path_unlink(), rb_f_loop(), rb_rescue(), and zip_i().
VALUE rb_rubylevel_errinfo | ( | void | ) |
Definition at line 1639 of file eval.c.
References get_errinfo().
void rb_set_errinfo | ( | VALUE | err | ) |
Definition at line 1630 of file eval.c.
References err, GET_THREAD, NIL_P, rb_eException, rb_eTypeError, rb_obj_is_kind_of(), and rb_raise().
Referenced by append_compile_error(), exc_equal(), load_encoding(), name_err_mesg_to_str(), ossl_pem_passwd_cb(), ossl_verify_cb_call(), pruby_eval(), rb_reg_compile(), reg_compile_gen(), ruby_require_internal(), and yycompile0().
void rb_threadptr_setup_exception | ( | rb_thread_t * | th, |
VALUE | mesg, | ||
VALUE | cause | ||
) |
Definition at line 598 of file eval.c.
References get_thread_errinfo(), Qundef, and rb_ivar_set().
Referenced by rb_threadptr_raise(), and rb_threadptr_ready().
Definition at line 1230 of file eval.c.
References Check_Type, rb_clear_method_cache_by_class(), rb_cObject, T_MODULE, and using_module_recursive().
Referenced by mod_using(), and top_using().
Definition at line 1148 of file eval.c.
References Check_Type, CREF_OMOD_SHARED(), CREF_OMOD_SHARED_UNSET(), CREF_REFINEMENTS(), CREF_REFINEMENTS_SET(), ensure_class_or_module(), FL_SET, hidden_identity_hash_new(), NIL_P, OBJ_WB_UNPROTECT, rb_hash_aset(), rb_hash_dup(), rb_hash_lookup(), rb_include_class_new(), RB_TYPE_P, RBASIC, RCLASS_M_TBL, RCLASS_REFINED_CLASS, RCLASS_SET_SUPER(), RCLASS_SUPER, RMODULE_IS_OVERLAID, T_ICLASS, and T_MODULE.
Referenced by using_refinement().
|
static |
Definition at line 234 of file eval.c.
References EXEC_TAG, GET_THREAD, rb_iseq_eval_main(), SAVE_ROOT_JMPBUF, TH_POP_TAG, and TH_PUSH_TAG.
Referenced by ruby_exec_node().
|
static |
Definition at line 115 of file eval.c.
References EXEC_TAG, POP_TAG, PUSH_TAG, rb_clear_trace_func(), rb_exec_end_proc(), and rb_trap_exit().
Referenced by ruby_cleanup(), and ruby_finalize().
|
static |
Definition at line 127 of file eval.c.
References GET_THREAD, Qnil, rb_gc_call_finalizer_at_exit(), and ruby_sig_finalize().
Referenced by ruby_cleanup(), and ruby_finalize().
void ruby_stop | ( | int | ex | ) |
Calls ruby_cleanup() and exits the process.
Definition at line 254 of file eval.c.
References ruby_cleanup().
Referenced by rb_exec_async_signal_safe(), rb_exit(), and thread_start_func_2().
|
static |
Definition at line 485 of file eval.c.
References rb_thread_struct::cfp, rb_thread_struct::errinfo, exc_setup_cause(), exception_error, EXEC_EVENT_HOOK, EXEC_TAG, get_thread_errinfo(), INTERNAL_EXCEPTION_P, NIL_P, OBJ_FROZEN, PRIsVALUE, Qnil, Qundef, rb_attr_get(), rb_eRuntimeError, rb_eSystemExit, rb_exc_new(), rb_get_backtrace(), rb_ivar_defined(), rb_ivar_set(), rb_obj_as_string(), rb_obj_class(), rb_obj_classname(), rb_obj_dup(), rb_obj_is_kind_of(), rb_source_loc(), rb_sprintf(), rb_threadptr_reset_raised(), rb_threadptr_set_raised(), rb_vm_backtrace_object(), RTEST, ruby_debug, RUBY_DTRACE_HOOK, RUBY_EVENT_RAISE, ruby_vm_special_exception_copy(), rb_control_frame_struct::self, set_backtrace(), special_exception_p(), sysstack_error_p(), TAG_FATAL, TH_JUMP_TAG, TH_POP_TAG, TH_PUSH_TAG, and warn_print_str.
Referenced by rb_longjmp(), and rb_raise_jump().
|
inlinestatic |
Definition at line 474 of file eval.c.
References FALSE, ruby_special_error_count, rb_vm_struct::special_exceptions, TRUE, and rb_thread_struct::vm.
Referenced by setup_exception().
|
inlinestatic |
Definition at line 468 of file eval.c.
References rb_eSysStackError, RBASIC_CLASS, SPECIAL_CONST_P, and sysstack_error.
Referenced by make_exception(), and setup_exception().
Definition at line 1522 of file eval.c.
References GET_THREAD, rb_cObject, rb_mod_include(), rb_warning(), and rb_thread_struct::top_wrapper.
Referenced by Init_eval().
Definition at line 1542 of file eval.c.
References CREF_NEXT(), GET_THREAD, ignored_block(), previous_frame(), rb_block_given_p(), rb_eRuntimeError, rb_raise(), rb_using_module(), rb_vm_cref(), rb_vm_cref_replace_with_duplicated_cref(), and rb_vm_frame_method_entry().
Referenced by Init_eval().
Definition at line 1369 of file eval.c.
References CONST_ID, FL_TEST, rb_ary_push(), rb_attr_get(), rb_class_of(), RCLASS_SUPER, RMODULE_IS_REFINEMENT, and ST_CONTINUE.
Referenced by rb_mod_s_used_modules().
Definition at line 1200 of file eval.c.
References BUILTIN_TYPE, CONST_ID, NIL_P, rb_attr_get(), rb_eTypeError, rb_hash_foreach(), rb_obj_classname(), rb_raise(), RBASIC, RCLASS_SUPER, T_ICLASS, T_MODULE, and using_refinement().
Referenced by rb_using_module().
Definition at line 1191 of file eval.c.
References rb_using_refinement(), and ST_CONTINUE.
Referenced by using_module_recursive().
VALUE rb_eLocalJumpError |
Definition at line 24 of file eval.c.
Referenced by Init_Proc(), and make_localjump_error().
VALUE rb_eSysStackError |
Definition at line 25 of file eval.c.
Referenced by hook_before_rewind(), Init_Proc(), rb_threadptr_error_print(), and sysstack_error_p().
VALUE rb_eThreadError |
Definition at line 814 of file eval.c.
Referenced by Init_Thread(), queue_do_pop(), rb_mutex_lock(), rb_mutex_synchronize_m(), rb_mutex_unlock(), rb_szqueue_push(), rb_thread_stop(), rb_thread_wakeup(), rb_threadptr_pending_interrupt_check_mask(), thgroup_add(), thread_create_core(), thread_initialize(), thread_join(), thread_s_new(), thread_shield_get_mutex(), threadptr_check_pending_interrupt_queue(), and tracepoint_new_s().