Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Data Structures | |
struct | traceobj_arg |
Variables | |
static struct traceobj_arg * | tmp_trace_arg |
static int | tmp_keep_remains |
static int | object_allocations_reporter_registered = 0 |
Definition at line 397 of file object_tracing.c.
References allocation_info::class_path, lookup_allocation_info(), Qnil, and rb_str_new2.
Referenced by Init_object_tracing().
Definition at line 462 of file object_tracing.c.
References allocation_info::generation, lookup_allocation_info(), Qnil, and SIZET2NUM.
Referenced by Init_object_tracing().
Definition at line 430 of file object_tracing.c.
References lookup_allocation_info(), allocation_info::mid, and Qnil.
Referenced by Init_object_tracing().
Definition at line 346 of file object_tracing.c.
References lookup_allocation_info(), allocation_info::path, Qnil, and rb_str_new2.
Referenced by Init_object_tracing().
Definition at line 366 of file object_tracing.c.
References INT2FIX, allocation_info::line, lookup_allocation_info(), and Qnil.
Referenced by Init_object_tracing().
Definition at line 55 of file object_tracing.c.
References ruby_xfree(), st_data_t, st_delete, st_insert, and st_lookup.
Referenced by freeobj_i(), and newobj_i().
Definition at line 133 of file object_tracing.c.
References ruby_xfree(), and ST_CONTINUE.
Referenced by trace_object_allocations_clear().
Definition at line 140 of file object_tracing.c.
References ruby_xfree(), and ST_CONTINUE.
Referenced by trace_object_allocations_clear().
|
static |
Definition at line 112 of file object_tracing.c.
References delete_unique_str(), traceobj_arg::keep_remains, allocation_info::living, traceobj_arg::object_table, rb_tracearg_from_tracepoint(), rb_tracearg_object(), ruby_xfree(), st_data_t, st_delete, st_lookup, and traceobj_arg::str_table.
Referenced by trace_object_allocations_start().
|
static |
Definition at line 150 of file object_tracing.c.
References ALLOC_N, traceobj_arg::freeobj_trace, traceobj_arg::keep_remains, traceobj_arg::newobj_trace, traceobj_arg::object_table, traceobj_arg::running, st_init_numtable, st_init_strtable, traceobj_arg::str_table, tmp_keep_remains, and tmp_trace_arg.
Referenced by trace_object_allocations_clear(), trace_object_allocations_start(), and trace_object_allocations_stop().
void Init_object_tracing | ( | VALUE | rb_mObjSpace | ) |
Definition at line 474 of file object_tracing.c.
References allocation_class_path(), allocation_generation(), allocation_method_id(), allocation_sourcefile(), allocation_sourceline(), rb_define_module(), rb_define_module_function(), trace_object_allocations(), trace_object_allocations_clear(), trace_object_allocations_debug_start(), trace_object_allocations_start(), and trace_object_allocations_stop().
Referenced by Init_objspace(), and objspace_internal_super_of().
|
static |
Definition at line 321 of file object_tracing.c.
References NULL, traceobj_arg::object_table, st_data_t, and st_lookup.
Referenced by allocation_class_path(), allocation_generation(), allocation_method_id(), allocation_sourcefile(), allocation_sourceline(), and objspace_lookup_allocation_info().
Definition at line 31 of file object_tracing.c.
References len, NULL, result, ruby_xmalloc(), st_add_direct, st_data_t, st_get_key(), st_insert, and st_lookup.
Referenced by newobj_i().
|
static |
Definition at line 72 of file object_tracing.c.
References allocation_info::class_path, delete_unique_str(), traceobj_arg::keep_remains, make_unique_str(), allocation_info::mid, NUM2INT, OBJ_FROZEN, traceobj_arg::object_table, Qnil, rb_class_path_cached(), rb_gc_count(), rb_tracearg_defined_class(), rb_tracearg_from_tracepoint(), rb_tracearg_lineno(), rb_tracearg_method_id(), rb_tracearg_object(), rb_tracearg_path(), RBASIC, RBASIC_CLASS, RSTRING_LEN, RSTRING_PTR, RTEST, ruby_xmalloc(), st_data_t, st_insert, st_lookup, and traceobj_arg::str_table.
Referenced by trace_object_allocations_start().
|
static |
Definition at line 299 of file object_tracing.c.
References object_allocations_reporter_i(), traceobj_arg::object_table, st_data_t, and st_foreach.
Referenced by trace_object_allocations_debug_start().
Definition at line 279 of file object_tracing.c.
References allocation_info::class_path, allocation_info::flags, allocation_info::klass, allocation_info::line, allocation_info::living, allocation_info::mid, NIL_P, allocation_info::path, rb_sym2str, RSTRING_PTR, and ST_CONTINUE.
Referenced by object_allocations_reporter().
struct allocation_info* objspace_lookup_allocation_info | ( | VALUE | obj | ) |
Definition at line 333 of file object_tracing.c.
References lookup_allocation_info().
Referenced by dump_object().
int rb_bug_reporter_add | ( | void(*)(FILE *, void *) | func, |
void * | data | ||
) |
Definition at line 314 of file error.c.
Referenced by trace_object_allocations(), and trace_object_allocations_debug_start().
Definition at line 269 of file object_tracing.c.
References func, Qnil, rb_bug_reporter_add(), rb_ensure(), rb_yield(), trace_object_allocations_start(), and trace_object_allocations_stop().
Referenced by Init_object_tracing().
Definition at line 225 of file object_tracing.c.
References free_keys_i(), free_values_i(), get_traceobj_arg(), traceobj_arg::object_table, Qnil, st_clear(), st_foreach, and traceobj_arg::str_table.
Referenced by Init_object_tracing().
Definition at line 309 of file object_tracing.c.
References object_allocations_reporter(), object_allocations_reporter_registered, rb_bug_reporter_add(), tmp_keep_remains, and trace_object_allocations_start().
Referenced by Init_object_tracing().
Definition at line 171 of file object_tracing.c.
References freeobj_i(), traceobj_arg::freeobj_trace, get_traceobj_arg(), newobj_i(), traceobj_arg::newobj_trace, Qnil, rb_tracepoint_enable(), rb_tracepoint_new(), RUBY_INTERNAL_EVENT_FREEOBJ, RUBY_INTERNAL_EVENT_NEWOBJ, and traceobj_arg::running.
Referenced by Init_object_tracing(), trace_object_allocations(), and trace_object_allocations_debug_start().
Definition at line 200 of file object_tracing.c.
References traceobj_arg::freeobj_trace, get_traceobj_arg(), traceobj_arg::newobj_trace, Qnil, rb_tracepoint_disable(), and traceobj_arg::running.
Referenced by Init_object_tracing(), and trace_object_allocations().
|
static |
Definition at line 276 of file object_tracing.c.
Referenced by trace_object_allocations_debug_start().
|
static |
Definition at line 147 of file object_tracing.c.
Referenced by get_traceobj_arg(), and trace_object_allocations_debug_start().
|
static |
Definition at line 146 of file object_tracing.c.
Referenced by get_traceobj_arg().