Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Data Structures | |
struct | rb_event_hook_struct |
struct | rb_tp_struct |
struct | rb_postponed_job_struct |
Macros | |
#define | MAX_EVENT_NUM 32 |
#define | C(name, NAME) case RUBY_EVENT_##NAME: CONST_ID(id, #name); return id; |
#define | C(name, NAME) CONST_ID(id, #name); if (sym == ID2SYM(id)) return RUBY_EVENT_##NAME |
#define | MAX_POSTPONED_JOB 1000 |
#define | MAX_POSTPONED_JOB_SPECIAL_ADDITION 24 |
Typedefs | |
typedef struct rb_event_hook_struct | rb_event_hook_t |
typedef void(* | rb_event_hook_raw_arg_func_t) (VALUE data, const rb_trace_arg_t *arg) |
typedef struct rb_tp_struct | rb_tp_t |
typedef struct rb_postponed_job_struct | rb_postponed_job_t |
Enumerations | |
enum | postponed_job_register_result { PJRR_SUCESS = 0, PJRR_FULL = 1, PJRR_INTERRUPTED = 2 } |
Variables | |
static int | ruby_event_flag_count [MAX_EVENT_NUM] = {0} |
static VALUE | rb_cTracePoint |
static const rb_data_type_t | tp_data_type |
Referenced by get_event_id(), and symbol2event_flag().
#define MAX_EVENT_NUM 32 |
Definition at line 42 of file vm_trace.c.
Referenced by recalc_add_ruby_vm_event_flags(), and recalc_remove_ruby_vm_event_flags().
#define MAX_POSTPONED_JOB 1000 |
Definition at line 1520 of file vm_trace.c.
Referenced by Init_postponed_job(), rb_postponed_job_register(), and rb_postponed_job_register_one().
#define MAX_POSTPONED_JOB_SPECIAL_ADDITION 24 |
Definition at line 1521 of file vm_trace.c.
Referenced by rb_postponed_job_register_one().
typedef void(* rb_event_hook_raw_arg_func_t) (VALUE data, const rb_trace_arg_t *arg) |
Definition at line 40 of file vm_trace.c.
typedef struct rb_event_hook_struct rb_event_hook_t |
typedef struct rb_postponed_job_struct rb_postponed_job_t |
typedef struct rb_tp_struct rb_tp_t |
Enumerator | |
---|---|
PJRR_SUCESS | |
PJRR_FULL | |
PJRR_INTERRUPTED |
Definition at line 1531 of file vm_trace.c.
|
static |
Definition at line 104 of file vm_trace.c.
References ALLOC, rb_event_hook_struct::data, rb_event_hook_struct::events, rb_event_hook_struct::func, rb_event_hook_struct::hook_flags, rb_eTypeError, rb_raise(), and RUBY_INTERNAL_EVENT_MASK.
Referenced by rb_add_event_hook(), rb_add_event_hook2(), and rb_threadptr_add_event_hook().
|
static |
Definition at line 609 of file vm_trace.c.
References argv, FL_SINGLETON, FL_TEST, get_event_name(), GET_THREAD, ID2SYM, INT2FIX, Qnil, rb_binding_new(), rb_ivar_get(), rb_proc_call_with_block(), rb_source_loc(), rb_str_new2, rb_thread_method_id_and_class(), RB_TYPE_P, RBASIC, and T_ICLASS.
Referenced by rb_suppress_tracing().
|
static |
Definition at line 228 of file vm_trace.c.
References rb_event_hook_struct::events, rb_hook_list_struct::events, FALSE, rb_event_hook_struct::hook_flags, rb_hook_list_struct::hooks, rb_hook_list_struct::need_clean, rb_event_hook_struct::next, recalc_remove_ruby_vm_event_flags(), RUBY_EVENT_HOOK_FLAG_DELETED, and xfree().
Referenced by exec_hooks_precheck().
|
static |
Definition at line 121 of file vm_trace.c.
References rb_event_hook_struct::events, rb_hook_list_struct::events, rb_hook_list_struct::hooks, rb_event_hook_struct::next, and recalc_add_ruby_vm_event_flags().
Referenced by rb_add_event_hook(), rb_add_event_hook2(), and rb_threadptr_add_event_hook().
|
static |
Definition at line 249 of file vm_trace.c.
References rb_event_hook_struct::data, rb_trace_arg_struct::event, rb_event_hook_struct::events, rb_event_hook_struct::func, rb_event_hook_struct::hook_flags, rb_hook_list_struct::hooks, rb_trace_arg_struct::id, rb_trace_arg_struct::klass, rb_event_hook_struct::next, RUBY_EVENT_HOOK_FLAG_DELETED, RUBY_EVENT_HOOK_FLAG_RAW_ARG, and rb_trace_arg_struct::self.
Referenced by exec_hooks_protected(), and exec_hooks_unprotected().
|
static |
Definition at line 266 of file vm_trace.c.
References clean_hooks(), rb_trace_arg_struct::event, rb_hook_list_struct::events, FALSE, rb_hook_list_struct::need_clean, rb_vm_struct::trace_running, UNLIKELY, and rb_thread_struct::vm.
Referenced by exec_hooks_protected(), and exec_hooks_unprotected().
|
static |
Definition at line 285 of file vm_trace.c.
References exec_hooks_body(), exec_hooks_precheck(), rb_threadptr_reset_raised(), rb_threadptr_set_raised(), TH_EXEC_TAG, TH_POP_TAG, and TH_PUSH_TAG.
Referenced by rb_threadptr_exec_event_hooks_orig().
|
static |
Definition at line 278 of file vm_trace.c.
References exec_hooks_body(), and exec_hooks_precheck().
Referenced by rb_threadptr_exec_event_hooks_orig().
|
static |
Definition at line 780 of file vm_trace.c.
References rb_trace_arg_struct::called_id, rb_trace_arg_struct::cfp, rb_trace_arg_struct::id, rb_trace_arg_struct::klass, rb_trace_arg_struct::klass_solved, Qnil, RB_TYPE_P, rb_vm_control_frame_id_and_class(), RBASIC, and T_ICLASS.
Referenced by rb_tracearg_callee_id(), rb_tracearg_defined_class(), and rb_tracearg_method_id().
|
static |
Definition at line 750 of file vm_trace.c.
References rb_iseq_struct::body, rb_trace_arg_struct::cfp, rb_control_frame_struct::iseq, rb_trace_arg_struct::lineno, rb_iseq_constant_body::location, rb_iseq_location_struct::path, rb_trace_arg_struct::path, Qnil, Qundef, rb_vm_get_ruby_level_next_cfp(), rb_vm_get_sourceline(), and rb_trace_arg_struct::th.
Referenced by rb_tracearg_lineno(), and rb_tracearg_path().
|
static |
Definition at line 581 of file vm_trace.c.
References C, CALL, CONST_ID, END, fiber_switch(), id, RETURN, RUBY_EVENT_LINE, and RUBY_EVENT_SPECIFIED_LINE.
Referenced by rb_tracearg_event().
|
static |
Definition at line 564 of file vm_trace.c.
References RUBY_EVENT_C_CALL, RUBY_EVENT_C_RETURN, RUBY_EVENT_CALL, RUBY_EVENT_CLASS, RUBY_EVENT_END, RUBY_EVENT_LINE, RUBY_EVENT_RAISE, and RUBY_EVENT_RETURN.
Referenced by call_trace_func().
|
static |
Definition at line 722 of file vm_trace.c.
References GET_THREAD, rb_eRuntimeError, and rb_raise().
Referenced by rb_tracearg_from_tracepoint(), tracepoint_attr_binding(), tracepoint_attr_callee_id(), tracepoint_attr_defined_class(), tracepoint_attr_event(), tracepoint_attr_lineno(), tracepoint_attr_method_id(), tracepoint_attr_path(), tracepoint_attr_raised_exception(), tracepoint_attr_return_value(), and tracepoint_attr_self().
|
static |
Definition at line 1524 of file vm_trace.c.
References ALLOC_N, GET_VM, MAX_POSTPONED_JOB, rb_vm_struct::postponed_job_buffer, rb_vm_struct::postponed_job_index, and rb_thread_struct::vm.
Referenced by Init_vm_trace(), and tracepoint_stat_s().
void Init_vm_trace | ( | void | ) |
Definition at line 1416 of file vm_trace.c.
References Init_postponed_job(), rb_cObject, rb_cThread, rb_define_class(), rb_define_global_function(), rb_define_method(), rb_define_singleton_method(), rb_tracepoint_enabled_p(), rb_undef_alloc_func(), set_trace_func(), thread_add_trace_func_m(), thread_set_trace_func_m(), tracepoint_attr_binding(), tracepoint_attr_callee_id(), tracepoint_attr_defined_class(), tracepoint_attr_event(), tracepoint_attr_lineno(), tracepoint_attr_method_id(), tracepoint_attr_path(), tracepoint_attr_raised_exception(), tracepoint_attr_return_value(), tracepoint_attr_self(), tracepoint_disable_m(), tracepoint_enable_m(), tracepoint_inspect(), tracepoint_new_s(), tracepoint_stat_s(), and tracepoint_trace_s().
|
static |
Definition at line 1538 of file vm_trace.c.
References ATOMIC_CAS, rb_event_hook_struct::data, rb_postponed_job_struct::data, rb_postponed_job_struct::flags, rb_event_hook_struct::func, rb_postponed_job_struct::func, PJRR_FULL, PJRR_INTERRUPTED, PJRR_SUCESS, rb_vm_struct::postponed_job_buffer, rb_vm_struct::postponed_job_index, RUBY_VM_SET_POSTPONED_JOB_INTERRUPT, and rb_postponed_job_struct::th.
Referenced by rb_postponed_job_register(), and rb_postponed_job_register_one().
void rb_add_event_hook | ( | rb_event_hook_func_t | func, |
rb_event_flag_t | events, | ||
VALUE | data | ||
) |
Definition at line 143 of file vm_trace.c.
References alloc_event_hook(), connect_event_hook(), GET_VM, and RUBY_EVENT_HOOK_FLAG_SAFE.
Referenced by ole_initialize(), rb_set_coverages(), and set_trace_func().
void rb_add_event_hook2 | ( | rb_event_hook_func_t | func, |
rb_event_flag_t | events, | ||
VALUE | data, | ||
rb_event_hook_flag_t | hook_flags | ||
) |
Definition at line 156 of file vm_trace.c.
References alloc_event_hook(), connect_event_hook(), and GET_VM.
Referenced by rb_tracepoint_enable().
void rb_clear_trace_func | ( | void | ) |
Definition at line 214 of file vm_trace.c.
References GET_VM, rb_vm_struct::living_threads, Qundef, rb_remove_event_hook(), and rb_threadptr_remove_event_hook().
Referenced by ruby_finalize_0(), and ruby_options().
void rb_postponed_job_flush | ( | rb_vm_t * | vm | ) |
Definition at line 1606 of file vm_trace.c.
References ATOMIC_CAS, rb_postponed_job_struct::data, rb_thread_struct::errinfo, EXEC_TAG, rb_postponed_job_struct::func, GET_THREAD, rb_thread_struct::interrupt_mask, rb_vm_struct::postponed_job_buffer, rb_vm_struct::postponed_job_index, POSTPONED_JOB_INTERRUPT_MASK, Qnil, TH_POP_TAG, TH_PUSH_TAG, and TRAP_INTERRUPT_MASK.
Referenced by rb_threadptr_execute_interrupts().
int rb_postponed_job_register | ( | unsigned int | flags, |
rb_postponed_job_func_t | func, | ||
void * | data | ||
) |
Definition at line 1565 of file vm_trace.c.
References GET_THREAD, MAX_POSTPONED_JOB, PJRR_FULL, PJRR_INTERRUPTED, PJRR_SUCESS, rb_vm_struct::postponed_job_index, postponed_job_register(), rb_bug(), and rb_thread_struct::vm.
int rb_postponed_job_register_one | ( | unsigned int | flags, |
rb_postponed_job_func_t | func, | ||
void * | data | ||
) |
Definition at line 1581 of file vm_trace.c.
References rb_postponed_job_struct::func, GET_THREAD, MAX_POSTPONED_JOB, MAX_POSTPONED_JOB_SPECIAL_ADDITION, PJRR_FULL, PJRR_INTERRUPTED, PJRR_SUCESS, rb_vm_struct::postponed_job_buffer, rb_vm_struct::postponed_job_index, postponed_job_register(), rb_bug(), RUBY_VM_SET_POSTPONED_JOB_INTERRUPT, and rb_thread_struct::vm.
Referenced by gc_finalize_deferred_register().
int rb_remove_event_hook | ( | rb_event_hook_func_t | func | ) |
Definition at line 202 of file vm_trace.c.
References GET_VM, Qundef, and remove_event_hook().
Referenced by rb_clear_trace_func(), rb_reset_coverages(), and set_trace_func().
int rb_remove_event_hook_with_data | ( | rb_event_hook_func_t | func, |
VALUE | data | ||
) |
Definition at line 208 of file vm_trace.c.
References GET_VM, and remove_event_hook().
Referenced by rb_tracepoint_disable().
Definition at line 387 of file vm_trace.c.
References call_trace_func(), rb_event_hook_struct::data, rb_trace_arg_struct::event, GET_THREAD, Qnil, rb_threadptr_reset_raised(), rb_threadptr_set_raised(), result, rb_thread_struct::state, TH_EXEC_TAG, TH_JUMP_TAG, TH_POP_TAG, TH_PUSH_TAG, rb_thread_struct::trace_arg, rb_vm_struct::trace_running, and rb_thread_struct::vm.
Referenced by yycompile().
void rb_thread_add_event_hook | ( | VALUE | thval, |
rb_event_hook_func_t | func, | ||
rb_event_flag_t | events, | ||
VALUE | data | ||
) |
Definition at line 137 of file vm_trace.c.
References rb_threadptr_add_event_hook(), RUBY_EVENT_HOOK_FLAG_SAFE, and thval2thread_t().
void rb_thread_add_event_hook2 | ( | VALUE | thval, |
rb_event_hook_func_t | func, | ||
rb_event_flag_t | events, | ||
VALUE | data, | ||
rb_event_hook_flag_t | hook_flags | ||
) |
Definition at line 150 of file vm_trace.c.
References rb_threadptr_add_event_hook(), and thval2thread_t().
Referenced by rb_tracepoint_enable().
int rb_thread_remove_event_hook | ( | VALUE | thval, |
rb_event_hook_func_t | func | ||
) |
Definition at line 190 of file vm_trace.c.
References Qundef, rb_threadptr_remove_event_hook(), and thval2thread_t().
int rb_thread_remove_event_hook_with_data | ( | VALUE | thval, |
rb_event_hook_func_t | func, | ||
VALUE | data | ||
) |
Definition at line 196 of file vm_trace.c.
References rb_threadptr_remove_event_hook(), and thval2thread_t().
Referenced by rb_tracepoint_disable().
|
static |
Definition at line 130 of file vm_trace.c.
References alloc_event_hook(), connect_event_hook(), and rb_thread_struct::event_hooks.
Referenced by rb_thread_add_event_hook(), rb_thread_add_event_hook2(), and thread_add_trace_func().
void rb_threadptr_exec_event_hooks | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 381 of file vm_trace.c.
References rb_threadptr_exec_event_hooks_orig().
Referenced by ruby_exec_event_hook_orig().
void rb_threadptr_exec_event_hooks_and_pop_frame | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 375 of file vm_trace.c.
References rb_threadptr_exec_event_hooks_orig().
Referenced by ruby_exec_event_hook_orig().
|
static |
Definition at line 310 of file vm_trace.c.
References rb_thread_struct::cfp, rb_thread_struct::errinfo, rb_trace_arg_struct::event, rb_vm_struct::event_hooks, rb_thread_struct::event_hooks, exec_hooks_protected(), exec_hooks_unprotected(), rb_thread_struct::local_storage_recursive_hash, rb_thread_struct::local_storage_recursive_hash_for_trace, rb_vm_tag::prev, Qnil, rb_mRubyVMFrozenCore, rb_vm_pop_frame(), RUBY_INTERNAL_EVENT_MASK, rb_trace_arg_struct::self, rb_thread_struct::state, rb_thread_struct::tag, rb_trace_arg_struct::th, TH_JUMP_TAG, rb_thread_struct::trace_arg, rb_vm_struct::trace_running, rb_thread_struct::vm, and VM_FRAME_FINISHED_P().
Referenced by rb_threadptr_exec_event_hooks(), and rb_threadptr_exec_event_hooks_and_pop_frame().
|
static |
Definition at line 184 of file vm_trace.c.
References rb_thread_struct::event_hooks, and remove_event_hook().
Referenced by rb_clear_trace_func(), rb_thread_remove_event_hook(), rb_thread_remove_event_hook_with_data(), and thread_set_trace_func_m().
VALUE rb_tracearg_binding | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 822 of file vm_trace.c.
References rb_trace_arg_struct::cfp, Qnil, rb_vm_get_binding_creatable_next_cfp(), rb_vm_make_binding(), and rb_trace_arg_struct::th.
Referenced by tracepoint_attr_binding().
VALUE rb_tracearg_callee_id | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 808 of file vm_trace.c.
References rb_trace_arg_struct::called_id, fill_id_and_klass(), ID2SYM, and Qnil.
Referenced by tracepoint_attr_callee_id().
VALUE rb_tracearg_defined_class | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 815 of file vm_trace.c.
References fill_id_and_klass(), and rb_trace_arg_struct::klass.
Referenced by newobj_i(), and tracepoint_attr_defined_class().
VALUE rb_tracearg_event | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 744 of file vm_trace.c.
References rb_trace_arg_struct::event, get_event_id(), and ID2SYM.
Referenced by tracepoint_attr_event(), and tracepoint_inspect().
rb_event_flag_t rb_tracearg_event_flag | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 738 of file vm_trace.c.
References rb_trace_arg_struct::event.
struct rb_trace_arg_struct* rb_tracearg_from_tracepoint | ( | VALUE | tpval | ) |
Definition at line 732 of file vm_trace.c.
References get_trace_arg().
Referenced by freeobj_i(), and newobj_i().
VALUE rb_tracearg_lineno | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 767 of file vm_trace.c.
References fill_path_and_lineno(), INT2FIX, and rb_trace_arg_struct::lineno.
Referenced by newobj_i(), tracepoint_attr_lineno(), and tracepoint_inspect().
VALUE rb_tracearg_method_id | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 801 of file vm_trace.c.
References fill_id_and_klass(), rb_trace_arg_struct::id, ID2SYM, and Qnil.
Referenced by newobj_i(), tracepoint_attr_method_id(), and tracepoint_inspect().
VALUE rb_tracearg_object | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 872 of file vm_trace.c.
References rb_trace_arg_struct::data, rb_trace_arg_struct::event, Qundef, rb_bug(), rb_eRuntimeError, rb_raise(), RUBY_INTERNAL_EVENT_FREEOBJ, and RUBY_INTERNAL_EVENT_NEWOBJ.
Referenced by freeobj_i(), and newobj_i().
VALUE rb_tracearg_path | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 773 of file vm_trace.c.
References fill_path_and_lineno(), and rb_trace_arg_struct::path.
Referenced by newobj_i(), tracepoint_attr_path(), and tracepoint_inspect().
VALUE rb_tracearg_raised_exception | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 857 of file vm_trace.c.
References rb_trace_arg_struct::data, rb_trace_arg_struct::event, Qundef, rb_bug(), rb_eRuntimeError, rb_raise(), and RUBY_EVENT_RAISE.
Referenced by tracepoint_attr_raised_exception().
VALUE rb_tracearg_return_value | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 842 of file vm_trace.c.
References rb_trace_arg_struct::data, rb_trace_arg_struct::event, Qundef, rb_bug(), rb_eRuntimeError, rb_raise(), RUBY_EVENT_B_RETURN, RUBY_EVENT_C_RETURN, and RUBY_EVENT_RETURN.
Referenced by tracepoint_attr_return_value().
VALUE rb_tracearg_self | ( | rb_trace_arg_t * | trace_arg | ) |
Definition at line 836 of file vm_trace.c.
References rb_trace_arg_struct::self.
Referenced by tracepoint_attr_self(), and tracepoint_inspect().
Definition at line 1045 of file vm_trace.c.
References Qundef, rb_remove_event_hook_with_data(), rb_thread_remove_event_hook_with_data(), rb_thread_struct::self, rb_tp_struct::target_th, tp_call_trace(), tpptr(), and rb_tp_struct::tracing.
Referenced by trace_object_allocations_stop(), tracepoint_disable_m(), and tracepoint_enable_m().
Definition at line 1026 of file vm_trace.c.
References rb_tp_struct::events, Qundef, rb_add_event_hook2(), rb_thread_add_event_hook2(), RUBY_EVENT_HOOK_FLAG_RAW_ARG, RUBY_EVENT_HOOK_FLAG_SAFE, rb_thread_struct::self, rb_tp_struct::target_th, tp_call_trace(), tpptr(), and rb_tp_struct::tracing.
Referenced by trace_object_allocations_start(), tracepoint_disable_m(), tracepoint_enable_m(), and tracepoint_trace_s().
Definition at line 1173 of file vm_trace.c.
References Qfalse, Qtrue, tpptr(), and rb_tp_struct::tracing.
Referenced by Init_vm_trace().
VALUE rb_tracepoint_new | ( | VALUE | target_thval, |
rb_event_flag_t | events, | ||
void(*)(VALUE, void *) | func, | ||
void * | data | ||
) |
Definition at line 1226 of file vm_trace.c.
References rb_event_hook_struct::func, GetThreadPtr, Qundef, RTEST, and tracepoint_new().
Referenced by trace_object_allocations_start().
void rb_vm_trace_mark_event_hooks | ( | rb_hook_list_t * | hooks | ) |
Definition at line 49 of file vm_trace.c.
References rb_event_hook_struct::data, rb_hook_list_struct::hooks, rb_event_hook_struct::next, and rb_gc_mark().
Referenced by rb_thread_mark(), rb_vm_call_cfunc(), and rb_vm_mark().
|
static |
Definition at line 62 of file vm_trace.c.
References MAX_EVENT_NUM, rb_objspace_set_event_hook(), ruby_event_flag_count, and ruby_vm_event_flags.
Referenced by connect_event_hook().
|
static |
Definition at line 78 of file vm_trace.c.
References MAX_EVENT_NUM, rb_objspace_set_event_hook(), ruby_event_flag_count, and ruby_vm_event_flags.
Referenced by clean_hooks().
|
static |
Definition at line 164 of file vm_trace.c.
References rb_event_hook_struct::data, rb_event_hook_struct::func, rb_event_hook_struct::hook_flags, rb_hook_list_struct::hooks, rb_hook_list_struct::need_clean, rb_event_hook_struct::next, Qundef, RUBY_EVENT_HOOK_FLAG_DELETED, and TRUE.
Referenced by rb_remove_event_hook(), rb_remove_event_hook_with_data(), and rb_threadptr_remove_event_hook().
Definition at line 490 of file vm_trace.c.
References NIL_P, Qnil, rb_add_event_hook(), rb_eTypeError, rb_obj_is_proc(), rb_raise(), rb_remove_event_hook(), and RUBY_EVENT_ALL.
Referenced by Init_vm_trace().
|
static |
Definition at line 683 of file vm_trace.c.
References C, CALL, END, fiber_switch(), id, PRIsVALUE, rb_convert_type(), rb_eArgError, rb_raise(), rb_sym2str, RETURN, RUBY_EVENT_B_CALL, RUBY_EVENT_B_RETURN, RUBY_EVENT_C_CALL, RUBY_EVENT_C_RETURN, RUBY_EVENT_CALL, RUBY_EVENT_RETURN, sym, and T_SYMBOL.
Referenced by tracepoint_new_s().
|
static |
Definition at line 508 of file vm_trace.c.
References rb_eTypeError, rb_obj_is_proc(), rb_raise(), rb_threadptr_add_event_hook(), RUBY_EVENT_ALL, and RUBY_EVENT_HOOK_FLAG_SAFE.
Referenced by thread_add_trace_func_m(), and thread_set_trace_func_m().
Definition at line 527 of file vm_trace.c.
References GetThreadPtr, and thread_add_trace_func().
Referenced by Init_vm_trace().
Definition at line 548 of file vm_trace.c.
References GetThreadPtr, NIL_P, Qnil, Qundef, rb_threadptr_remove_event_hook(), and thread_add_trace_func().
Referenced by Init_vm_trace().
|
static |
Definition at line 96 of file vm_trace.c.
References GetThreadPtr.
Referenced by rb_thread_add_event_hook(), rb_thread_add_event_hook2(), rb_thread_remove_event_hook(), and rb_thread_remove_event_hook_with_data().
Definition at line 676 of file vm_trace.c.
References TypedData_Make_Struct.
Referenced by tracepoint_new().
|
static |
Definition at line 1013 of file vm_trace.c.
References rb_tp_struct::data, rb_tp_struct::func, rb_tp_struct::proc, Qnil, rb_proc_call_with_block(), and tpptr().
Referenced by rb_tracepoint_disable(), and rb_tracepoint_enable().
|
static |
Definition at line 656 of file vm_trace.c.
References rb_tp_struct::proc, rb_gc_mark(), rb_thread_struct::self, and rb_tp_struct::target_th.
|
static |
Definition at line 664 of file vm_trace.c.
Definition at line 714 of file vm_trace.c.
References TypedData_Get_Struct.
Referenced by rb_tracepoint_disable(), rb_tracepoint_enable(), rb_tracepoint_enabled_p(), tp_call_trace(), tracepoint_disable_m(), tracepoint_enable_m(), and tracepoint_inspect().
Definition at line 977 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_binding().
Referenced by Init_vm_trace().
Definition at line 928 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_callee_id().
Referenced by Init_vm_trace().
Definition at line 968 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_defined_class().
Referenced by Init_vm_trace().
Definition at line 892 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_event().
Referenced by Init_vm_trace().
Definition at line 901 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_lineno().
Referenced by Init_vm_trace().
Definition at line 919 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_method_id().
Referenced by Init_vm_trace().
Definition at line 910 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_path().
Referenced by Init_vm_trace().
Definition at line 1007 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_raised_exception().
Referenced by Init_vm_trace().
Definition at line 998 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_return_value().
Referenced by Init_vm_trace().
Definition at line 989 of file vm_trace.c.
References get_trace_arg(), and rb_tracearg_self().
Referenced by Init_vm_trace().
Definition at line 1150 of file vm_trace.c.
References Qfalse, Qnil, Qtrue, rb_block_given_p(), rb_ensure(), rb_tracepoint_disable(), rb_tracepoint_enable(), rb_yield(), tpptr(), and rb_tp_struct::tracing.
Referenced by Init_vm_trace().
Definition at line 1099 of file vm_trace.c.
References Qfalse, Qnil, Qtrue, rb_block_given_p(), rb_ensure(), rb_tracepoint_disable(), rb_tracepoint_enable(), rb_yield(), tpptr(), and rb_tp_struct::tracing.
Referenced by Init_vm_trace().
Definition at line 1324 of file vm_trace.c.
References default_inspect(), rb_trace_arg_struct::event, FIX2INT, GET_THREAD, NIL_P, PRIsVALUE, rb_sprintf(), rb_tracearg_event(), rb_tracearg_lineno(), rb_tracearg_method_id(), rb_tracearg_path(), rb_tracearg_self(), RUBY_EVENT_C_CALL, RUBY_EVENT_C_RETURN, RUBY_EVENT_CALL, RUBY_EVENT_LINE, RUBY_EVENT_RETURN, RUBY_EVENT_SPECIFIED_LINE, RUBY_EVENT_THREAD_BEGIN, RUBY_EVENT_THREAD_END, sym, tpptr(), and rb_tp_struct::tracing.
Referenced by Init_vm_trace().
|
static |
Definition at line 1180 of file vm_trace.c.
References rb_event_hook_struct::data, rb_tp_struct::data, rb_event_hook_struct::events, rb_tp_struct::events, rb_event_hook_struct::func, rb_tp_struct::func, rb_tp_struct::proc, rb_tp_struct::self, tp_alloc(), and TypedData_Get_Struct.
Referenced by rb_tracepoint_new(), and tracepoint_new_s().
Definition at line 1286 of file vm_trace.c.
References argc, rb_block_given_p(), rb_block_proc(), rb_eThreadError, rb_raise(), RUBY_EVENT_TRACEPOINT_ALL, symbol2event_flag(), and tracepoint_new().
Referenced by Init_vm_trace(), and tracepoint_trace_s().
|
static |
Definition at line 1371 of file vm_trace.c.
References rb_event_hook_struct::hook_flags, INT2FIX, rb_event_hook_struct::next, rb_ary_new3, rb_hash_aset(), and RUBY_EVENT_HOOK_FLAG_DELETED.
Referenced by tracepoint_stat_s().
Definition at line 1401 of file vm_trace.c.
References rb_vm_struct::event_hooks, GET_VM, rb_hook_list_struct::hooks, Init_postponed_job(), rb_hash_new(), rb_vm_struct::self, stat, and tracepoint_stat_event_hooks().
Referenced by Init_vm_trace().
Definition at line 1308 of file vm_trace.c.
References rb_tracepoint_enable(), and tracepoint_new_s().
Referenced by Init_vm_trace().
|
static |
Definition at line 643 of file vm_trace.c.
|
static |
Definition at line 44 of file vm_trace.c.
Referenced by recalc_add_ruby_vm_event_flags(), and recalc_remove_ruby_vm_event_flags().
|
static |
Definition at line 669 of file vm_trace.c.