Ruby
2.4.2p198(2017-09-14revision59899)
|
#include "internal.h"
#include "ruby/debug.h"
#include "vm_core.h"
#include "eval_intern.h"
#include "iseq.h"
Go to the source code of this file.
Data Structures | |
struct | rb_backtrace_location_struct |
struct | valued_frame_info |
struct | rb_backtrace_struct |
struct | bt_iter_arg |
struct | oldbt_arg |
struct | rb_debug_inspector_struct |
struct | collect_caller_bindings_data |
Macros | |
#define | rb_id2str(id) id2str(id) |
Typedefs | |
typedef struct rb_backtrace_location_struct | rb_backtrace_location_t |
typedef struct rb_backtrace_struct | rb_backtrace_t |
Enumerations | |
enum | { CALLER_BINDING_SELF, CALLER_BINDING_CLASS, CALLER_BINDING_BINDING, CALLER_BINDING_ISEQ, CALLER_BINDING_CFP } |
Variables | |
static VALUE | rb_cBacktrace |
static VALUE | rb_cBacktraceLocation |
static const rb_data_type_t | location_data_type |
static const rb_data_type_t | backtrace_data_type |
Definition at line 29 of file vm_backtrace.c.
Referenced by add_id(), addrinfo_mdump(), append_method(), assignable_gen(), classname(), error_pos_str(), fc_path(), gettable_gen(), ibf_dump_id_list_i(), id2ref(), id2str(), id_to_name(), insn_data_to_s_detail(), inspect_i(), inspect_struct(), is_private_local_id(), iseq_compile_each(), iseq_data_to_ary(), location_base_label(), location_label(), location_to_str(), method_inspect(), must_respond_to(), new_bv_gen(), new_xstring_gen(), num_sadded(), oldbt_iter_cfunc(), parser_compile_error(), rb_attr(), rb_const_set(), rb_define_class_id_under(), rb_define_module_id_under(), rb_fs_setter(), rb_id_quote_unprintable(), rb_insecure_operation(), rb_insn_operand_intern(), rb_iseq_parameters(), rb_method_entry_make(), rb_notimplement(), rb_search_method_entry(), rb_secure(), rb_str_setter(), rb_sym2str(), rb_thread_current_status(), rb_undef(), rsock_ipaddr(), shadowing_lvar_0(), validate_label(), vtable_add(), and warn_unused_var().
typedef struct rb_backtrace_location_struct rb_backtrace_location_t |
typedef struct rb_backtrace_struct rb_backtrace_t |
anonymous enum |
Enumerator | |
---|---|
CALLER_BINDING_SELF | |
CALLER_BINDING_CLASS | |
CALLER_BINDING_BINDING | |
CALLER_BINDING_ISEQ | |
CALLER_BINDING_CFP |
Definition at line 1069 of file vm_backtrace.c.
Definition at line 416 of file vm_backtrace.c.
References TypedData_Make_Struct.
Referenced by bt_init(), and Init_vm_backtrace().
|
static |
Definition at line 536 of file vm_backtrace.c.
References rb_backtrace_struct::backtrace, rb_backtrace_struct::backtrace_size, func, rb_ary_new(), rb_ary_push(), rb_bug(), and UNLIKELY.
Referenced by backtrace_to_location_ary(), and backtrace_to_str_ary().
Definition at line 643 of file vm_backtrace.c.
References rb_backtrace_to_str_ary().
Referenced by Init_vm_backtrace().
|
static |
Definition at line 424 of file vm_backtrace.c.
References rb_thread_struct::cfp, rb_callable_method_entry_struct::def, rb_method_definition_struct::original_id, rb_vm_frame_method_entry(), RUBY_VM_END_CONTROL_FRAME, RUBY_VM_NEXT_CONTROL_FRAME, RUBYVM_CFUNC_FRAME_P, and size.
Referenced by backtrace_object(), collect_caller_bindings(), rb_backtrace_print_as_bugreport(), rb_backtrace_print_to(), and vm_backtrace_print().
|
static |
Definition at line 389 of file vm_backtrace.c.
References rb_backtrace_struct::backtrace, rb_backtrace_struct::backtrace_base, and ruby_xfree().
Definition at line 650 of file vm_backtrace.c.
References GetCoreDataFromValue, and rb_backtrace_struct::strary.
Referenced by Init_vm_backtrace().
|
static |
Definition at line 376 of file vm_backtrace.c.
References rb_backtrace_struct::backtrace, rb_backtrace_struct::backtrace_size, rb_backtrace_struct::locary, location_mark_entry(), rb_gc_mark(), and rb_backtrace_struct::strary.
|
static |
Definition at line 397 of file vm_backtrace.c.
References rb_backtrace_struct::backtrace_size.
|
static |
Definition at line 515 of file vm_backtrace.c.
References backtrace_each(), bt_init(), bt_iter_cfunc(), bt_iter_iseq(), bt_iter_arg::btobj, and bt_iter_arg::prev_loc.
Referenced by rb_vm_backtrace_location_ary(), rb_vm_backtrace_object(), rb_vm_backtrace_str_ary(), and vm_backtrace_to_ary().
Definition at line 609 of file vm_backtrace.c.
References backtrace_collect(), rb_backtrace_struct::backtrace_size, GetCoreDataFromValue, location_create(), Qnil, RB_GC_GUARD, and size.
Referenced by rb_backtrace_to_location_ary(), rb_vm_backtrace_location_ary(), and vm_backtrace_to_ary().
Definition at line 562 of file vm_backtrace.c.
References backtrace_collect(), rb_backtrace_struct::backtrace_size, bt_iter_arg::bt, GetCoreDataFromValue, location_to_str_dmyarg(), Qnil, RB_GC_GUARD, and size.
Referenced by rb_backtrace_to_str_ary(), rb_vm_backtrace_str_ary(), and vm_backtrace_to_ary().
|
static |
Definition at line 482 of file vm_backtrace.c.
References rb_backtrace_struct::backtrace, backtrace_alloc(), rb_backtrace_struct::backtrace_base, rb_backtrace_struct::backtrace_size, bt_iter_arg::bt, bt_iter_arg::btobj, GetCoreDataFromValue, rb_cBacktrace, and ruby_xmalloc().
Referenced by backtrace_object().
|
static |
Definition at line 505 of file vm_backtrace.c.
References rb_backtrace_struct::backtrace, rb_backtrace_struct::backtrace_size, rb_backtrace_location_struct::body, bt_iter_arg::bt, rb_backtrace_location_struct::cfunc, rb_backtrace_location_struct::LOCATION_TYPE_CFUNC, rb_backtrace_location_struct::mid, bt_iter_arg::prev_loc, and rb_backtrace_location_struct::type.
Referenced by backtrace_object().
|
static |
Definition at line 492 of file vm_backtrace.c.
References rb_backtrace_struct::backtrace, rb_backtrace_struct::backtrace_size, rb_backtrace_location_struct::body, bt_iter_arg::bt, rb_backtrace_location_struct::iseq, rb_control_frame_struct::iseq, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ, rb_backtrace_location_struct::pc, rb_control_frame_struct::pc, bt_iter_arg::prev_loc, and rb_backtrace_location_struct::type.
Referenced by backtrace_object().
Definition at line 32 of file vm_backtrace.c.
References rb_iseq_struct::body, rb_iseq_constant_body::iseq_encoded, and rb_iseq_line_no().
Referenced by location_lineno(), location_to_str(), oldbt_iter_iseq(), rb_profile_frames(), and rb_vm_get_sourceline().
|
static |
Definition at line 1135 of file vm_backtrace.c.
References collect_caller_bindings_data::ary, backtrace_each(), CALLER_BINDING_BINDING, collect_caller_bindings_cfunc(), collect_caller_bindings_init(), collect_caller_bindings_iseq(), GC_GUARDED_PTR_REF, NIL_P, RARRAY_LEN, rb_ary_entry(), rb_ary_new(), rb_ary_reverse(), rb_ary_store(), rb_vm_make_binding(), and result.
Referenced by rb_debug_inspector_open().
|
static |
Definition at line 1120 of file vm_backtrace.c.
References collect_caller_bindings_data::ary, CALLER_BINDING_BINDING, CALLER_BINDING_CFP, CALLER_BINDING_CLASS, CALLER_BINDING_ISEQ, CALLER_BINDING_SELF, GC_GUARDED_PTR, get_klass(), Qnil, rb_ary_new2, rb_ary_push(), rb_ary_store(), and rb_control_frame_struct::self.
Referenced by collect_caller_bindings().
|
static |
Definition at line 1082 of file vm_backtrace.c.
Referenced by collect_caller_bindings().
|
static |
Definition at line 1105 of file vm_backtrace.c.
References collect_caller_bindings_data::ary, CALLER_BINDING_BINDING, CALLER_BINDING_CFP, CALLER_BINDING_CLASS, CALLER_BINDING_ISEQ, CALLER_BINDING_SELF, GC_GUARDED_PTR, get_klass(), rb_control_frame_struct::iseq, Qnil, rb_ary_new2, rb_ary_push(), rb_ary_store(), and rb_control_frame_struct::self.
Referenced by collect_caller_bindings().
Definition at line 1279 of file vm_backtrace.c.
References rb_method_definition_struct::body, rb_callable_method_entry_struct::def, imemo_iseq, imemo_ment, rb_method_definition_struct::iseq, rb_method_iseq_struct::iseqptr, NULL, Qnil, rb_bug(), RB_TYPE_P, T_IMEMO, rb_method_definition_struct::type, and VM_METHOD_TYPE_ISEQ.
Referenced by rb_profile_frame_absolute_path(), rb_profile_frame_base_label(), rb_profile_frame_first_lineno(), rb_profile_frame_label(), rb_profile_frame_method_name(), and rb_profile_frame_path().
Definition at line 1340 of file vm_backtrace.c.
References rb_callable_method_entry_struct::defined_class, imemo_ment, Qnil, RB_TYPE_P, and T_IMEMO.
Referenced by rb_profile_frame_classpath(), and rb_profile_frame_singleton_method_p().
|
static |
Definition at line 1200 of file vm_backtrace.c.
References rb_debug_inspector_struct::backtrace_size, rb_debug_inspector_struct::contexts, rb_ary_entry(), rb_eArgError, and rb_raise().
Referenced by rb_debug_inspector_frame_binding_get(), rb_debug_inspector_frame_class_get(), rb_debug_inspector_frame_iseq_get(), and rb_debug_inspector_frame_self_get().
|
static |
Definition at line 1088 of file vm_backtrace.c.
References Qnil, RB_TYPE_P, rb_vm_control_frame_id_and_class(), RBASIC, and T_ICLASS.
Referenced by collect_caller_bindings_cfunc(), and collect_caller_bindings_iseq().
Definition at line 23 of file vm_backtrace.c.
void Init_vm_backtrace | ( | void | ) |
Definition at line 985 of file vm_backtrace.c.
References backtrace_alloc(), backtrace_dump_data(), backtrace_load_data(), CLASS_OF, location_absolute_path_m(), location_base_label_m(), location_inspect_m(), location_label_m(), location_lineno_m(), location_path_m(), location_to_str_m(), rb_cArray, rb_cBacktrace, rb_cBacktraceLocation, rb_cObject, rb_cThread, rb_define_alloc_func(), rb_define_class_under(), rb_define_global_function(), rb_define_method(), rb_f_caller(), rb_f_caller_locations(), rb_marshal_define_compat(), rb_undef_alloc_func(), rb_undef_method(), RUBY_SYMBOL_EXPORT_BEGIN, and RUBY_SYMBOL_EXPORT_END.
Referenced by Init_VM().
|
static |
Definition at line 263 of file vm_backtrace.c.
References rb_iseq_location_struct::absolute_path, rb_backtrace_location_struct::body, rb_iseq_struct::body, rb_backtrace_location_struct::cfunc, rb_backtrace_location_struct::iseq, rb_iseq_constant_body::location, rb_backtrace_location_struct::LOCATION_TYPE_CFUNC, rb_backtrace_location_struct::LOCATION_TYPE_IFUNC, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ_CALCED, Qnil, rb_bug(), rb_backtrace_location_struct::type, and UNREACHABLE.
Referenced by location_absolute_path_m().
Definition at line 287 of file vm_backtrace.c.
References location_absolute_path(), and location_ptr().
Referenced by Init_vm_backtrace().
|
static |
Definition at line 203 of file vm_backtrace.c.
References rb_iseq_location_struct::base_label, rb_backtrace_location_struct::body, rb_iseq_struct::body, rb_backtrace_location_struct::cfunc, rb_backtrace_location_struct::iseq, rb_iseq_constant_body::location, rb_backtrace_location_struct::LOCATION_TYPE_CFUNC, rb_backtrace_location_struct::LOCATION_TYPE_IFUNC, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ_CALCED, rb_bug(), rb_id2str, rb_backtrace_location_struct::type, and UNREACHABLE.
Referenced by location_base_label_m().
Definition at line 224 of file vm_backtrace.c.
References location_base_label(), and location_ptr().
Referenced by Init_vm_backtrace().
|
static |
Definition at line 596 of file vm_backtrace.c.
References valued_frame_info::btobj, valued_frame_info::loc, rb_cBacktraceLocation, and TypedData_Make_Struct.
Referenced by backtrace_to_location_ary().
Definition at line 293 of file vm_backtrace.c.
References NIL_P, rb_enc_compatible(), rb_enc_sprintf(), rb_str_cat_cstr(), rb_str_catf(), and RSTRING_PTR.
Referenced by location_to_str().
Definition at line 362 of file vm_backtrace.c.
References location_ptr(), location_to_str(), and rb_str_inspect().
Referenced by Init_vm_backtrace().
|
static |
Definition at line 154 of file vm_backtrace.c.
References rb_backtrace_location_struct::body, rb_iseq_struct::body, rb_backtrace_location_struct::cfunc, rb_backtrace_location_struct::iseq, rb_iseq_location_struct::label, rb_iseq_constant_body::location, rb_backtrace_location_struct::LOCATION_TYPE_CFUNC, rb_backtrace_location_struct::LOCATION_TYPE_IFUNC, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ_CALCED, rb_bug(), rb_id2str, rb_backtrace_location_struct::type, and UNREACHABLE.
Referenced by location_label_m().
Definition at line 197 of file vm_backtrace.c.
References location_label(), and location_ptr().
Referenced by Init_vm_backtrace().
|
static |
Definition at line 120 of file vm_backtrace.c.
References rb_backtrace_location_struct::body, calc_lineno(), rb_backtrace_location_struct::cfunc, rb_backtrace_location_struct::iseq, rb_backtrace_location_struct::LOCATION_TYPE_CFUNC, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ_CALCED, rb_bug(), rb_backtrace_location_struct::type, and UNREACHABLE.
Referenced by location_lineno_m(), and location_to_str().
Definition at line 148 of file vm_backtrace.c.
References INT2FIX, location_lineno(), and location_ptr().
Referenced by Init_vm_backtrace().
|
static |
Definition at line 77 of file vm_backtrace.c.
References valued_frame_info::btobj, and rb_gc_mark().
|
static |
Definition at line 84 of file vm_backtrace.c.
References rb_backtrace_location_struct::body, rb_backtrace_location_struct::iseq, rb_backtrace_location_struct::LOCATION_TYPE_CFUNC, rb_backtrace_location_struct::LOCATION_TYPE_IFUNC, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ_CALCED, rb_gc_mark(), and rb_backtrace_location_struct::type.
Referenced by backtrace_mark().
|
static |
Definition at line 99 of file vm_backtrace.c.
|
static |
Definition at line 230 of file vm_backtrace.c.
References rb_backtrace_location_struct::body, rb_iseq_struct::body, rb_backtrace_location_struct::cfunc, rb_backtrace_location_struct::iseq, rb_iseq_constant_body::location, rb_backtrace_location_struct::LOCATION_TYPE_CFUNC, rb_backtrace_location_struct::LOCATION_TYPE_IFUNC, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ_CALCED, rb_iseq_location_struct::path, Qnil, rb_bug(), rb_backtrace_location_struct::type, and UNREACHABLE.
Referenced by location_path_m().
Definition at line 257 of file vm_backtrace.c.
References location_path(), and location_ptr().
Referenced by Init_vm_backtrace().
|
inlinestatic |
Definition at line 112 of file vm_backtrace.c.
References GetCoreDataFromValue, and valued_frame_info::loc.
Referenced by location_absolute_path_m(), location_base_label_m(), location_inspect_m(), location_label_m(), location_lineno_m(), location_path_m(), and location_to_str_m().
|
static |
Definition at line 310 of file vm_backtrace.c.
References rb_backtrace_location_struct::body, rb_iseq_struct::body, calc_lineno(), rb_backtrace_location_struct::cfunc, GET_THREAD, INT2FIX, rb_backtrace_location_struct::iseq, rb_iseq_location_struct::label, rb_backtrace_location_struct::lineno, rb_iseq_constant_body::location, location_format(), location_lineno(), rb_backtrace_location_struct::LOCATION_TYPE_CFUNC, rb_backtrace_location_struct::LOCATION_TYPE_IFUNC, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ, rb_backtrace_location_struct::LOCATION_TYPE_ISEQ_CALCED, name, rb_iseq_location_struct::path, rb_vm_struct::progname, rb_bug(), rb_id2str, rb_backtrace_location_struct::type, and rb_thread_struct::vm.
Referenced by location_inspect_m(), location_to_str_dmyarg(), and location_to_str_m().
|
static |
Definition at line 556 of file vm_backtrace.c.
References location_to_str().
Referenced by backtrace_to_str_ary().
Definition at line 352 of file vm_backtrace.c.
References location_ptr(), and location_to_str().
Referenced by Init_vm_backtrace().
Definition at line 743 of file vm_backtrace.c.
References oldbt_arg::filename, NIL_P, and RSTRING_PTR.
Referenced by rb_backtrace_print_as_bugreport().
|
static |
Definition at line 680 of file vm_backtrace.c.
References oldbt_arg::filename, GET_THREAD, oldbt_arg::lineno, rb_vm_struct::progname, and rb_thread_struct::vm.
Referenced by rb_backtrace_print_as_bugreport(), rb_backtrace_print_to(), and vm_backtrace_print().
|
static |
Definition at line 703 of file vm_backtrace.c.
References oldbt_arg::data, oldbt_arg::filename, oldbt_arg::func, rb_backtrace_location_struct::lineno, oldbt_arg::lineno, name, and rb_id2str.
Referenced by rb_backtrace_print_as_bugreport(), rb_backtrace_print_to(), and vm_backtrace_print().
|
static |
Definition at line 690 of file vm_backtrace.c.
References rb_iseq_struct::body, calc_lineno(), oldbt_arg::data, oldbt_arg::filename, oldbt_arg::func, rb_backtrace_location_struct::iseq, rb_control_frame_struct::iseq, rb_iseq_location_struct::label, rb_backtrace_location_struct::lineno, oldbt_arg::lineno, rb_iseq_constant_body::location, name, rb_iseq_location_struct::path, rb_backtrace_location_struct::pc, and rb_control_frame_struct::pc.
Referenced by rb_backtrace_print_as_bugreport(), rb_backtrace_print_to(), and vm_backtrace_print().
Definition at line 714 of file vm_backtrace.c.
References NIL_P, and RSTRING_PTR.
Referenced by vm_backtrace_print().
Definition at line 782 of file vm_backtrace.c.
References NIL_P, output, PRIsVALUE, rb_io_write(), rb_sprintf(), rb_str_cat2(), and rb_str_catf().
Referenced by rb_backtrace_print_to().
void rb_backtrace | ( | void | ) |
Definition at line 776 of file vm_backtrace.c.
References vm_backtrace_print().
Referenced by rescue_callback().
int rb_backtrace_p | ( | VALUE | obj | ) |
Definition at line 410 of file vm_backtrace.c.
References rb_typeddata_is_kind_of().
Referenced by exc_backtrace(), rb_check_backtrace(), and set_backtrace().
void rb_backtrace_print_as_bugreport | ( | void | ) |
Definition at line 760 of file vm_backtrace.c.
References backtrace_each(), oldbt_arg::data, oldbt_arg::func, GET_THREAD, oldbt_bugreport(), oldbt_init(), oldbt_iter_cfunc(), and oldbt_iter_iseq().
Referenced by rb_vm_bugreport().
void rb_backtrace_print_to | ( | VALUE | output | ) |
Definition at line 797 of file vm_backtrace.c.
References backtrace_each(), oldbt_arg::data, oldbt_arg::func, GET_THREAD, oldbt_init(), oldbt_iter_cfunc(), oldbt_iter_iseq(), and oldbt_print_to().
Referenced by load_lock().
Definition at line 631 of file vm_backtrace.c.
References backtrace_to_location_ary(), GetCoreDataFromValue, and rb_backtrace_struct::locary.
Referenced by exc_backtrace_locations().
Definition at line 584 of file vm_backtrace.c.
References rb_backtrace_struct::backtrace_size, backtrace_to_str_ary(), bt_iter_arg::bt, GetCoreDataFromValue, and rb_backtrace_struct::strary.
Referenced by backtrace_dump_data(), exc_backtrace(), and set_backtrace().
VALUE rb_debug_inspector_backtrace_locations | ( | const rb_debug_inspector_t * | dc | ) |
Definition at line 1239 of file vm_backtrace.c.
References rb_debug_inspector_struct::backtrace.
VALUE rb_debug_inspector_frame_binding_get | ( | const rb_debug_inspector_t * | dc, |
long | index | ||
) |
Definition at line 1223 of file vm_backtrace.c.
References CALLER_BINDING_BINDING, frame_get(), and rb_ary_entry().
VALUE rb_debug_inspector_frame_class_get | ( | const rb_debug_inspector_t * | dc, |
long | index | ||
) |
Definition at line 1216 of file vm_backtrace.c.
References CALLER_BINDING_CLASS, frame_get(), and rb_ary_entry().
VALUE rb_debug_inspector_frame_iseq_get | ( | const rb_debug_inspector_t * | dc, |
long | index | ||
) |
Definition at line 1230 of file vm_backtrace.c.
References CALLER_BINDING_ISEQ, frame_get(), rb_backtrace_location_struct::iseq, Qnil, rb_ary_entry(), rb_iseqw_new(), and RTEST.
VALUE rb_debug_inspector_frame_self_get | ( | const rb_debug_inspector_t * | dc, |
long | index | ||
) |
Definition at line 1209 of file vm_backtrace.c.
References CALLER_BINDING_SELF, frame_get(), and rb_ary_entry().
VALUE rb_debug_inspector_open | ( | rb_debug_inspector_func_t | func, |
void * | data | ||
) |
Definition at line 1171 of file vm_backtrace.c.
References rb_debug_inspector_struct::backtrace, rb_debug_inspector_struct::backtrace_size, rb_thread_struct::cfp, rb_debug_inspector_struct::cfp, collect_caller_bindings(), rb_debug_inspector_struct::contexts, EXEC_TAG, GET_THREAD, MAYBE_UNUSED, RARRAY_LEN, rb_vm_backtrace_location_ary(), result, rb_debug_inspector_struct::th, TH_JUMP_TAG, TH_POP_TAG, and TH_PUSH_TAG.
Definition at line 950 of file vm_backtrace.c.
References GET_THREAD, and vm_backtrace_to_ary().
Referenced by Init_vm_backtrace().
Definition at line 978 of file vm_backtrace.c.
References GET_THREAD, and vm_backtrace_to_ary().
Referenced by Init_vm_backtrace().
VALUE rb_make_backtrace | ( | void | ) |
Definition at line 811 of file vm_backtrace.c.
References GET_THREAD, and rb_vm_backtrace_str_ary().
Referenced by parser_set_encode().
Definition at line 1312 of file vm_backtrace.c.
References frame2iseq(), rb_backtrace_location_struct::iseq, Qnil, and rb_iseq_absolute_path().
Definition at line 1326 of file vm_backtrace.c.
References frame2iseq(), rb_backtrace_location_struct::iseq, Qnil, and rb_iseq_base_label().
Referenced by rb_profile_frame_full_label().
Definition at line 1355 of file vm_backtrace.c.
References FL_SINGLETON, FL_TEST, frame2klass(), NIL_P, Qnil, rb_class2name(), rb_class_path(), rb_ivar_get(), rb_obj_class(), rb_sprintf(), RB_TYPE_P, RBASIC, T_CLASS, and T_ICLASS.
Referenced by rb_profile_frame_qualified_method_name().
Definition at line 1333 of file vm_backtrace.c.
References frame2iseq(), rb_backtrace_location_struct::iseq, Qnil, and rb_iseq_first_lineno().
Definition at line 1418 of file vm_backtrace.c.
References NIL_P, PRIsVALUE, rb_long2int, rb_profile_frame_base_label(), rb_profile_frame_label(), rb_profile_frame_qualified_method_name(), rb_sprintf(), RSTRING_LEN, and RSTRING_PTR.
Definition at line 1319 of file vm_backtrace.c.
References frame2iseq(), rb_backtrace_location_struct::iseq, Qnil, and rb_iseq_label().
Referenced by rb_profile_frame_full_label().
Definition at line 1389 of file vm_backtrace.c.
References frame2iseq(), rb_backtrace_location_struct::iseq, Qnil, and rb_iseq_method_name().
Referenced by rb_profile_frame_qualified_method_name().
Definition at line 1305 of file vm_backtrace.c.
References frame2iseq(), rb_backtrace_location_struct::iseq, Qnil, and rb_iseq_path().
Definition at line 1396 of file vm_backtrace.c.
References classpath, method_name(), PRIsVALUE, Qnil, Qtrue, rb_profile_frame_classpath(), rb_profile_frame_method_name(), rb_profile_frame_singleton_method_p(), and rb_sprintf().
Referenced by rb_profile_frame_full_label().
Definition at line 1376 of file vm_backtrace.c.
References FL_SINGLETON, FL_TEST, frame2klass(), NIL_P, Qfalse, and Qtrue.
Referenced by rb_profile_frame_qualified_method_name().
int rb_profile_frames | ( | int | start, |
int | limit, | ||
VALUE * | buff, | ||
int * | lines | ||
) |
Definition at line 1245 of file vm_backtrace.c.
References calc_lineno(), rb_thread_struct::cfp, rb_callable_method_entry_struct::def, GET_THREAD, rb_control_frame_struct::iseq, rb_control_frame_struct::pc, rb_vm_frame_method_entry(), RUBY_VM_END_CONTROL_FRAME, RUBY_VM_PREVIOUS_CONTROL_FRAME, rb_method_definition_struct::type, and VM_METHOD_TYPE_ISEQ.
VALUE rb_vm_backtrace_location_ary | ( | rb_thread_t * | th, |
long | lev, | ||
long | n | ||
) |
Definition at line 665 of file vm_backtrace.c.
References backtrace_object(), and backtrace_to_location_ary().
Referenced by rb_debug_inspector_open().
VALUE rb_vm_backtrace_object | ( | void | ) |
Definition at line 530 of file vm_backtrace.c.
References backtrace_object(), and GET_THREAD.
Referenced by raise_argument_error(), and setup_exception().
VALUE rb_vm_backtrace_str_ary | ( | rb_thread_t * | th, |
long | lev, | ||
long | n | ||
) |
Definition at line 659 of file vm_backtrace.c.
References backtrace_object(), and backtrace_to_str_ary().
Referenced by debug_deadlock_check(), rb_make_backtrace(), and ruby_native_thread_p().
int rb_vm_get_sourceline | ( | const rb_control_frame_t * | cfp | ) |
Definition at line 38 of file vm_backtrace.c.
References calc_lineno(), rb_control_frame_struct::iseq, rb_control_frame_struct::pc, and VM_FRAME_RUBYFRAME_P().
Referenced by caller_location(), control_frame_dump(), fill_path_and_lineno(), method_definition_set(), rb_source_location(), rb_sourceline(), rb_thread_current_status(), and rb_vm_make_binding().
Definition at line 900 of file vm_backtrace.c.
References thread_backtrace_to_ary().
Referenced by rb_thread_backtrace_m().
Definition at line 906 of file vm_backtrace.c.
References thread_backtrace_to_ary().
Referenced by rb_thread_backtrace_locations_m().
|
static |
Definition at line 888 of file vm_backtrace.c.
References GetThreadPtr, Qnil, rb_thread_struct::status, THREAD_KILLED, rb_thread_struct::to_kill, and vm_backtrace_to_ary().
Referenced by rb_vm_thread_backtrace(), and rb_vm_thread_backtrace_locations().
|
static |
Definition at line 729 of file vm_backtrace.c.
References backtrace_each(), oldbt_arg::data, oldbt_arg::func, GET_THREAD, oldbt_init(), oldbt_iter_cfunc(), oldbt_iter_iseq(), and oldbt_print().
Referenced by rb_backtrace().
|
static |
Definition at line 817 of file vm_backtrace.c.
References backtrace_object(), rb_backtrace_struct::backtrace_size, backtrace_to_location_ary(), backtrace_to_str_ary(), GetCoreDataFromValue, len, level, NIL_P, NUM2LONG, Qfalse, Qnil, rb_ary_new(), rb_eArgError, RB_GC_GUARD, rb_raise(), rb_range_beg_len(), and rb_scan_args().
Referenced by rb_f_caller(), rb_f_caller_locations(), and thread_backtrace_to_ary().
|
static |
Definition at line 403 of file vm_backtrace.c.
|
static |
Definition at line 105 of file vm_backtrace.c.
|
static |
Definition at line 19 of file vm_backtrace.c.
Referenced by bt_init(), and Init_vm_backtrace().
|
static |
Definition at line 20 of file vm_backtrace.c.
Referenced by Init_vm_backtrace(), and location_create().