Ruby 2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)

Macros | Enumerations | Functions
debug_counter.h File Reference

Go to the source code of this file.

## Macros
#define | USE_DEBUG_COUNTER 0
#define | RUBY_DEBUG_COUNTER_H 1
#define | RB_DEBUG_COUNTER(name) RB_DEBUG_COUNTER_##name,
#define | RB_DEBUG_COUNTER_INC(type) ((void)0)
#define | RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (cond)
#define | RB_DEBUG_COUNTER_INC_IF(type, cond) (cond)

## Enumerations
enum | rb_debug_counter_type { RB_DEBUG_COUNTER_MAX, RB_DEBUG_COUNTER_mc_inline_hit, RB_DEBUG_COUNTER_mc_inline_miss, RB_DEBUG_COUNTER_mc_global_hit, RB_DEBUG_COUNTER_mc_global_miss, RB_DEBUG_COUNTER_mc_global_state_miss, RB_DEBUG_COUNTER_mc_class_serial_miss, RB_DEBUG_COUNTER_mc_cme_complement, RB_DEBUG_COUNTER_mc_cme_complement_hit, RB_DEBUG_COUNTER_mc_search_super, RB_DEBUG_COUNTER_mc_miss_by_nome, RB_DEBUG_COUNTER_mc_miss_by_distinct, RB_DEBUG_COUNTER_mc_miss_by_refine, RB_DEBUG_COUNTER_mc_miss_by_visi, RB_DEBUG_COUNTER_mc_miss_spurious, RB_DEBUG_COUNTER_mc_miss_reuse_call, RB_DEBUG_COUNTER_ccf_general, RB_DEBUG_COUNTER_ccf_iseq_setup, RB_DEBUG_COUNTER_ccf_iseq_setup_0start, RB_DEBUG_COUNTER_ccf_iseq_setup_tailcall_0start, RB_DEBUG_COUNTER_ccf_iseq_fix, RB_DEBUG_COUNTER_ccf_iseq_opt, RB_DEBUG_COUNTER_ccf_iseq_kw1, RB_DEBUG_COUNTER_ccf_iseq_kw2, RB_DEBUG_COUNTER_ccf_cfunc, RB_DEBUG_COUNTER_ccf_ivar, RB_DEBUG_COUNTER_ccf_attrset, RB_DEBUG_COUNTER_ccf_method_missing, RB_DEBUG_COUNTER_ccf_zsuper, RB_DEBUG_COUNTER_ccf_bmethod, RB_DEBUG_COUNTER_ccf_opt_send, RB_DEBUG_COUNTER_ccf_opt_call, RB_DEBUG_COUNTER_ccf_opt_block_call, RB_DEBUG_COUNTER_ccf_super_method, RB_DEBUG_COUNTER_frame_push, RB_DEBUG_COUNTER_frame_push_method, RB_DEBUG_COUNTER_frame_push_block, RB_DEBUG_COUNTER_frame_push_class, RB_DEBUG_COUNTER_frame_push_top, RB_DEBUG_COUNTER_frame_push_cfunc, RB_DEBUG_COUNTER_frame_push_ifunc, RB_DEBUG_COUNTER_frame_push_eval, RB_DEBUG_COUNTER_frame_push_rescue, RB_DEBUG_COUNTER_frame_push_dummy, RB_DEBUG_COUNTER_frame_R2R, RB_DEBUG_COUNTER_frame_R2C, RB_DEBUG_COUNTER_frame_C2C, RB_DEBUG_COUNTER_frame_C2R, RB_DEBUG_COUNTER_ivar_get_ic_hit, RB_DEBUG_COUNTER_ivar_get_ic_miss, RB_DEBUG_COUNTER_ivar_get_ic_miss_serial, RB_DEBUG_COUNTER_ivar_get_ic_miss_unset, RB_DEBUG_COUNTER_ivar_get_ic_miss_noobject, RB_DEBUG_COUNTER_ivar_set_ic_hit, RB_DEBUG_COUNTER_ivar_set_ic_miss, RB_DEBUG_COUNTER_ivar_set_ic_miss_serial, RB_DEBUG_COUNTER_ivar_set_ic_miss_unset, RB_DEBUG_COUNTER_ivar_set_ic_miss_oorange, RB_DEBUG_COUNTER_ivar_set_ic_miss_noobject, RB_DEBUG_COUNTER_ivar_get_base, RB_DEBUG_COUNTER_ivar_set_base, RB_DEBUG_COUNTER_lvar_get, RB_DEBUG_COUNTER_lvar_get_dynamic, RB_DEBUG_COUNTER_lvar_set, RB_DEBUG_COUNTER_lvar_set_dynamic, RB_DEBUG_COUNTER_lvar_set_slowpath, RB_DEBUG_COUNTER_gc_count, RB_DEBUG_COUNTER_gc_minor_newobj, RB_DEBUG_COUNTER_gc_minor_malloc, RB_DEBUG_COUNTER_gc_minor_method, RB_DEBUG_COUNTER_gc_minor_capi, RB_DEBUG_COUNTER_gc_minor_stress, RB_DEBUG_COUNTER_gc_major_nofree, RB_DEBUG_COUNTER_gc_major_oldgen, RB_DEBUG_COUNTER_gc_major_shady, RB_DEBUG_COUNTER_gc_major_force, RB_DEBUG_COUNTER_gc_major_oldmalloc, RB_DEBUG_COUNTER_gc_isptr_trial, RB_DEBUG_COUNTER_gc_isptr_range, RB_DEBUG_COUNTER_gc_isptr_align, RB_DEBUG_COUNTER_gc_isptr_maybe, RB_DEBUG_COUNTER_obj_newobj, RB_DEBUG_COUNTER_obj_newobj_slowpath, RB_DEBUG_COUNTER_obj_newobj_wb_unprotected, RB_DEBUG_COUNTER_obj_free, RB_DEBUG_COUNTER_obj_promote, RB_DEBUG_COUNTER_obj_wb_unprotect, RB_DEBUG_COUNTER_obj_obj_embed, RB_DEBUG_COUNTER_obj_obj_transient, RB_DEBUG_COUNTER_obj_obj_ptr, RB_DEBUG_COUNTER_obj_str_ptr, RB_DEBUG_COUNTER_obj_str_embed, RB_DEBUG_COUNTER_obj_str_shared, RB_DEBUG_COUNTER_obj_str_nofree, RB_DEBUG_COUNTER_obj_str_fstr, RB_DEBUG_COUNTER_obj_ary_embed, RB_DEBUG_COUNTER_obj_ary_transient, RB_DEBUG_COUNTER_obj_ary_ptr, RB_DEBUG_COUNTER_obj_ary_extracapa, RB_DEBUG_COUNTER_obj_ary_shared_create, RB_DEBUG_COUNTER_obj_ary_shared, RB_DEBUG_COUNTER_obj_ary_shared_root_occupied, RB_DEBUG_COUNTER_obj_hash_empty, RB_DEBUG_COUNTER_obj_hash_1, RB_DEBUG_COUNTER_obj_hash_2, RB_DEBUG_COUNTER_obj_hash_3, RB_DEBUG_COUNTER_obj_hash_4, RB_DEBUG_COUNTER_obj_hash_5_8, RB_DEBUG_COUNTER_obj_hash_g8, RB_DEBUG_COUNTER_obj_hash_null, RB_DEBUG_COUNTER_obj_hash_ar, RB_DEBUG_COUNTER_obj_hash_st, RB_DEBUG_COUNTER_obj_hash_transient, RB_DEBUG_COUNTER_obj_hash_force_convert, RB_DEBUG_COUNTER_obj_struct_embed, RB_DEBUG_COUNTER_obj_struct_transient, RB_DEBUG_COUNTER_obj_struct_ptr, RB_DEBUG_COUNTER_obj_data_empty, RB_DEBUG_COUNTER_obj_data_xfree, RB_DEBUG_COUNTER_obj_data_imm_free, RB_DEBUG_COUNTER_obj_data_zombie, RB_DEBUG_COUNTER_obj_match_under4, RB_DEBUG_COUNTER_obj_match_ge4, RB_DEBUG_COUNTER_obj_match_ge8, RB_DEBUG_COUNTER_obj_match_ptr, RB_DEBUG_COUNTER_obj_iclass_ptr, RB_DEBUG_COUNTER_obj_class_ptr, RB_DEBUG_COUNTER_obj_module_ptr, RB_DEBUG_COUNTER_obj_bignum_ptr, RB_DEBUG_COUNTER_obj_bignum_embed, RB_DEBUG_COUNTER_obj_float, RB_DEBUG_COUNTER_obj_complex, RB_DEBUG_COUNTER_obj_rational, RB_DEBUG_COUNTER_obj_regexp_ptr, RB_DEBUG_COUNTER_obj_file_ptr, RB_DEBUG_COUNTER_obj_symbol, RB_DEBUG_COUNTER_obj_imemo_ment, RB_DEBUG_COUNTER_obj_imemo_iseq, RB_DEBUG_COUNTER_obj_imemo_env, RB_DEBUG_COUNTER_obj_imemo_tmpbuf, RB_DEBUG_COUNTER_obj_imemo_ast, RB_DEBUG_COUNTER_obj_imemo_cref, RB_DEBUG_COUNTER_obj_imemo_svar, RB_DEBUG_COUNTER_obj_imemo_throw_data, RB_DEBUG_COUNTER_obj_imemo_ifunc, RB_DEBUG_COUNTER_obj_imemo_memo, RB_DEBUG_COUNTER_obj_imemo_parser_strterm, RB_DEBUG_COUNTER_artable_hint_hit, RB_DEBUG_COUNTER_artable_hint_miss, RB_DEBUG_COUNTER_artable_hint_notfound, RB_DEBUG_COUNTER_heap_xmalloc, RB_DEBUG_COUNTER_heap_xrealloc, RB_DEBUG_COUNTER_heap_xfree, RB_DEBUG_COUNTER_theap_alloc, RB_DEBUG_COUNTER_theap_alloc_fail, RB_DEBUG_COUNTER_theap_evacuate, RB_DEBUG_COUNTER_mjit_exec, RB_DEBUG_COUNTER_mjit_exec_not_added, RB_DEBUG_COUNTER_mjit_exec_not_added_add_iseq, RB_DEBUG_COUNTER_mjit_exec_not_ready, RB_DEBUG_COUNTER_mjit_exec_not_compiled, RB_DEBUG_COUNTER_mjit_exec_call_func, RB_DEBUG_COUNTER_mjit_frame_VM2VM, RB_DEBUG_COUNTER_mjit_frame_VM2JT, RB_DEBUG_COUNTER_mjit_frame_JT2JT, RB_DEBUG_COUNTER_mjit_frame_JT2VM, RB_DEBUG_COUNTER_mjit_cancel, RB_DEBUG_COUNTER_mjit_cancel_ivar_inline, RB_DEBUG_COUNTER_mjit_cancel_send_inline, RB_DEBUG_COUNTER_mjit_cancel_opt_insn, RB_DEBUG_COUNTER_mjit_cancel_invalidate_all, RB_DEBUG_COUNTER_mjit_length_unit_queue, RB_DEBUG_COUNTER_mjit_length_active_units, RB_DEBUG_COUNTER_mjit_length_compact_units, RB_DEBUG_COUNTER_mjit_length_stale_units, RB_DEBUG_COUNTER_mjit_compile_failures, RB_DEBUG_COUNTER_MAX }

## Functions
void | rb_debug_counter_show_results (const char *msg)
RUBY_SYMBOL_EXPORT_BEGIN size_t | ruby_debug_counter_get (const char **names_ptr, size_t *counters_ptr)
void | ruby_debug_counter_reset (void)
void | ruby_debug_counter_show_at_exit (int enable)

## Macro Definition Documentation

## ◆ RB_DEBUG_COUNTER

#define RB_DEBUG_COUNTER | ( |  | name | ) | RB_DEBUG_COUNTER_##name,

Definition at line 349 of file debug_counter.h.

## ◆ RB_DEBUG_COUNTER_INC

#define RB_DEBUG_COUNTER_INC | ( |  | type | ) | ((void)0)

Definition at line 375 of file debug_counter.h.

## ◆ RB_DEBUG_COUNTER_INC_IF

#define RB_DEBUG_COUNTER_INC_IF | ( |  | type,
|  |  | cond
| ) |  | (cond)

Definition at line 377 of file debug_counter.h.

## ◆ RB_DEBUG_COUNTER_INC_UNLESS

#define RB_DEBUG_COUNTER_INC_UNLESS | ( |  | type,
|  |  | cond
| ) |  | (cond)

Definition at line 376 of file debug_counter.h.

## ◆ RUBY_DEBUG_COUNTER_H

#define RUBY_DEBUG_COUNTER_H 1

Definition at line 342 of file debug_counter.h.

## ◆ USE_DEBUG_COUNTER

#define USE_DEBUG_COUNTER 0

Definition at line 12 of file debug_counter.h.

## Enumeration Type Documentation

## ◆ rb_debug_counter_type

enum rb_debug_counter_type

Enumerator
RB_DEBUG_COUNTER_MAX |
RB_DEBUG_COUNTER_mc_inline_hit |
RB_DEBUG_COUNTER_mc_inline_miss |
RB_DEBUG_COUNTER_mc_global_hit |
RB_DEBUG_COUNTER_mc_global_miss |
RB_DEBUG_COUNTER_mc_global_state_miss |
RB_DEBUG_COUNTER_mc_class_serial_miss |
RB_DEBUG_COUNTER_mc_cme_complement |
RB_DEBUG_COUNTER_mc_cme_complement_hit |
RB_DEBUG_COUNTER_mc_search_super |
RB_DEBUG_COUNTER_mc_miss_by_nome |
RB_DEBUG_COUNTER_mc_miss_by_distinct |
RB_DEBUG_COUNTER_mc_miss_by_refine |
RB_DEBUG_COUNTER_mc_miss_by_visi |
RB_DEBUG_COUNTER_mc_miss_spurious |
RB_DEBUG_COUNTER_mc_miss_reuse_call |
RB_DEBUG_COUNTER_ccf_general |
RB_DEBUG_COUNTER_ccf_iseq_setup |
RB_DEBUG_COUNTER_ccf_iseq_setup_0start |
RB_DEBUG_COUNTER_ccf_iseq_setup_tailcall_0start |
RB_DEBUG_COUNTER_ccf_iseq_fix |
RB_DEBUG_COUNTER_ccf_iseq_opt |
RB_DEBUG_COUNTER_ccf_iseq_kw1 |
RB_DEBUG_COUNTER_ccf_iseq_kw2 |
RB_DEBUG_COUNTER_ccf_cfunc |
RB_DEBUG_COUNTER_ccf_ivar |
RB_DEBUG_COUNTER_ccf_attrset |
RB_DEBUG_COUNTER_ccf_method_missing |
RB_DEBUG_COUNTER_ccf_zsuper |
RB_DEBUG_COUNTER_ccf_bmethod |
RB_DEBUG_COUNTER_ccf_opt_send |
RB_DEBUG_COUNTER_ccf_opt_call |
RB_DEBUG_COUNTER_ccf_opt_block_call |
RB_DEBUG_COUNTER_ccf_super_method |
RB_DEBUG_COUNTER_frame_push |
RB_DEBUG_COUNTER_frame_push_method |
RB_DEBUG_COUNTER_frame_push_block |
RB_DEBUG_COUNTER_frame_push_class |
RB_DEBUG_COUNTER_frame_push_top |
RB_DEBUG_COUNTER_frame_push_cfunc |
RB_DEBUG_COUNTER_frame_push_ifunc |
RB_DEBUG_COUNTER_frame_push_eval |
RB_DEBUG_COUNTER_frame_push_rescue |
RB_DEBUG_COUNTER_frame_push_dummy |
RB_DEBUG_COUNTER_frame_R2R |
RB_DEBUG_COUNTER_frame_R2C |
RB_DEBUG_COUNTER_frame_C2C |
RB_DEBUG_COUNTER_frame_C2R |
RB_DEBUG_COUNTER_ivar_get_ic_hit |
RB_DEBUG_COUNTER_ivar_get_ic_miss |
RB_DEBUG_COUNTER_ivar_get_ic_miss_serial |
RB_DEBUG_COUNTER_ivar_get_ic_miss_unset |
RB_DEBUG_COUNTER_ivar_get_ic_miss_noobject |
RB_DEBUG_COUNTER_ivar_set_ic_hit |
RB_DEBUG_COUNTER_ivar_set_ic_miss |
RB_DEBUG_COUNTER_ivar_set_ic_miss_serial |
RB_DEBUG_COUNTER_ivar_set_ic_miss_unset |
RB_DEBUG_COUNTER_ivar_set_ic_miss_oorange |
RB_DEBUG_COUNTER_ivar_set_ic_miss_noobject |
RB_DEBUG_COUNTER_ivar_get_base |
RB_DEBUG_COUNTER_ivar_set_base |
RB_DEBUG_COUNTER_lvar_get |
RB_DEBUG_COUNTER_lvar_get_dynamic |
RB_DEBUG_COUNTER_lvar_set |
RB_DEBUG_COUNTER_lvar_set_dynamic |
RB_DEBUG_COUNTER_lvar_set_slowpath |
RB_DEBUG_COUNTER_gc_count |
RB_DEBUG_COUNTER_gc_minor_newobj |
RB_DEBUG_COUNTER_gc_minor_malloc |
RB_DEBUG_COUNTER_gc_minor_method |
RB_DEBUG_COUNTER_gc_minor_capi |
RB_DEBUG_COUNTER_gc_minor_stress |
RB_DEBUG_COUNTER_gc_major_nofree |
RB_DEBUG_COUNTER_gc_major_oldgen |
RB_DEBUG_COUNTER_gc_major_shady |
RB_DEBUG_COUNTER_gc_major_force |
RB_DEBUG_COUNTER_gc_major_oldmalloc |
RB_DEBUG_COUNTER_gc_isptr_trial |
RB_DEBUG_COUNTER_gc_isptr_range |
RB_DEBUG_COUNTER_gc_isptr_align |
RB_DEBUG_COUNTER_gc_isptr_maybe |
RB_DEBUG_COUNTER_obj_newobj |
RB_DEBUG_COUNTER_obj_newobj_slowpath |
RB_DEBUG_COUNTER_obj_newobj_wb_unprotected |
RB_DEBUG_COUNTER_obj_free |
RB_DEBUG_COUNTER_obj_promote |
RB_DEBUG_COUNTER_obj_wb_unprotect |
RB_DEBUG_COUNTER_obj_obj_embed |
RB_DEBUG_COUNTER_obj_obj_transient |
RB_DEBUG_COUNTER_obj_obj_ptr |
RB_DEBUG_COUNTER_obj_str_ptr |
RB_DEBUG_COUNTER_obj_str_embed |
RB_DEBUG_COUNTER_obj_str_shared |
RB_DEBUG_COUNTER_obj_str_nofree |
RB_DEBUG_COUNTER_obj_str_fstr |
RB_DEBUG_COUNTER_obj_ary_embed |
RB_DEBUG_COUNTER_obj_ary_transient |
RB_DEBUG_COUNTER_obj_ary_ptr |
RB_DEBUG_COUNTER_obj_ary_extracapa |
RB_DEBUG_COUNTER_obj_ary_shared_create |
RB_DEBUG_COUNTER_obj_ary_shared |
RB_DEBUG_COUNTER_obj_ary_shared_root_occupied |
RB_DEBUG_COUNTER_obj_hash_empty |
RB_DEBUG_COUNTER_obj_hash_1 |
RB_DEBUG_COUNTER_obj_hash_2 |
RB_DEBUG_COUNTER_obj_hash_3 |
RB_DEBUG_COUNTER_obj_hash_4 |
RB_DEBUG_COUNTER_obj_hash_5_8 |
RB_DEBUG_COUNTER_obj_hash_g8 |
RB_DEBUG_COUNTER_obj_hash_null |
RB_DEBUG_COUNTER_obj_hash_ar |
RB_DEBUG_COUNTER_obj_hash_st |
RB_DEBUG_COUNTER_obj_hash_transient |
RB_DEBUG_COUNTER_obj_hash_force_convert |
RB_DEBUG_COUNTER_obj_struct_embed |
RB_DEBUG_COUNTER_obj_struct_transient |
RB_DEBUG_COUNTER_obj_struct_ptr |
RB_DEBUG_COUNTER_obj_data_empty |
RB_DEBUG_COUNTER_obj_data_xfree |
RB_DEBUG_COUNTER_obj_data_imm_free |
RB_DEBUG_COUNTER_obj_data_zombie |
RB_DEBUG_COUNTER_obj_match_under4 |
RB_DEBUG_COUNTER_obj_match_ge4 |
RB_DEBUG_COUNTER_obj_match_ge8 |
RB_DEBUG_COUNTER_obj_match_ptr |
RB_DEBUG_COUNTER_obj_iclass_ptr |
RB_DEBUG_COUNTER_obj_class_ptr |
RB_DEBUG_COUNTER_obj_module_ptr |
RB_DEBUG_COUNTER_obj_bignum_ptr |
RB_DEBUG_COUNTER_obj_bignum_embed |
RB_DEBUG_COUNTER_obj_float |
RB_DEBUG_COUNTER_obj_complex |
RB_DEBUG_COUNTER_obj_rational |
RB_DEBUG_COUNTER_obj_regexp_ptr |
RB_DEBUG_COUNTER_obj_file_ptr |
RB_DEBUG_COUNTER_obj_symbol |
RB_DEBUG_COUNTER_obj_imemo_ment |
RB_DEBUG_COUNTER_obj_imemo_iseq |
RB_DEBUG_COUNTER_obj_imemo_env |
RB_DEBUG_COUNTER_obj_imemo_tmpbuf |
RB_DEBUG_COUNTER_obj_imemo_ast |
RB_DEBUG_COUNTER_obj_imemo_cref |
RB_DEBUG_COUNTER_obj_imemo_svar |
RB_DEBUG_COUNTER_obj_imemo_throw_data |
RB_DEBUG_COUNTER_obj_imemo_ifunc |
RB_DEBUG_COUNTER_obj_imemo_memo |
RB_DEBUG_COUNTER_obj_imemo_parser_strterm |
RB_DEBUG_COUNTER_artable_hint_hit |
RB_DEBUG_COUNTER_artable_hint_miss |
RB_DEBUG_COUNTER_artable_hint_notfound |
RB_DEBUG_COUNTER_heap_xmalloc |
RB_DEBUG_COUNTER_heap_xrealloc |
RB_DEBUG_COUNTER_heap_xfree |
RB_DEBUG_COUNTER_theap_alloc |
RB_DEBUG_COUNTER_theap_alloc_fail |
RB_DEBUG_COUNTER_theap_evacuate |
RB_DEBUG_COUNTER_mjit_exec |
RB_DEBUG_COUNTER_mjit_exec_not_added |
RB_DEBUG_COUNTER_mjit_exec_not_added_add_iseq |
RB_DEBUG_COUNTER_mjit_exec_not_ready |
RB_DEBUG_COUNTER_mjit_exec_not_compiled |
RB_DEBUG_COUNTER_mjit_exec_call_func |
RB_DEBUG_COUNTER_mjit_frame_VM2VM |
RB_DEBUG_COUNTER_mjit_frame_VM2JT |
RB_DEBUG_COUNTER_mjit_frame_JT2JT |
RB_DEBUG_COUNTER_mjit_frame_JT2VM |
RB_DEBUG_COUNTER_mjit_cancel |
RB_DEBUG_COUNTER_mjit_cancel_ivar_inline |
RB_DEBUG_COUNTER_mjit_cancel_send_inline |
RB_DEBUG_COUNTER_mjit_cancel_opt_insn |
RB_DEBUG_COUNTER_mjit_cancel_invalidate_all |
RB_DEBUG_COUNTER_mjit_length_unit_queue |
RB_DEBUG_COUNTER_mjit_length_active_units |
RB_DEBUG_COUNTER_mjit_length_compact_units |
RB_DEBUG_COUNTER_mjit_length_stale_units |
RB_DEBUG_COUNTER_mjit_compile_failures |
RB_DEBUG_COUNTER_MAX |

Definition at line 348 of file debug_counter.h.

## Function Documentation

## ◆ rb_debug_counter_show_results()

void rb_debug_counter_show_results | ( | const char * | msg | ) |

Definition at line 116 of file debug_counter.c.

## ◆ ruby_debug_counter_get()

RUBY_SYMBOL_EXPORT_BEGIN size_t ruby_debug_counter_get | ( | const char ** | names_ptr,
|  | size_t * | counters_ptr
| ) |  |

Definition at line 121 of file debug_counter.c.

## ◆ ruby_debug_counter_reset()

void ruby_debug_counter_reset | ( | void |  | ) |

Definition at line 126 of file debug_counter.c.

## ◆ ruby_debug_counter_show_at_exit()

void ruby_debug_counter_show_at_exit | ( | int | enable | ) |

Definition at line 131 of file debug_counter.c.