17 static const char *
const debug_counter_names[] = {
19 #define RB_DEBUG_COUNTER(name) #name,
21 #undef RB_DEBUG_COUNTER
25 size_t rb_debug_counter[
numberof(debug_counter_names)];
28 int debug_counter_disable_show_at_exit = 0;
36 case RB_DEBUG_COUNTER_mjit_length_unit_queue:
37 case RB_DEBUG_COUNTER_mjit_length_active_units:
38 case RB_DEBUG_COUNTER_mjit_length_compact_units:
39 case RB_DEBUG_COUNTER_mjit_length_stale_units:
43 rb_debug_counter[i] = 0;
54 if (names_ptr !=
NULL) {
56 names_ptr[i] = debug_counter_names[i];
59 if (counters_ptr !=
NULL) {
61 counters_ptr[i] = rb_debug_counter[i];
71 debug_counter_disable_show_at_exit = !enable;
77 const char *
env =
getenv(
"RUBY_DEBUG_COUNTER_DISABLE");
79 setlocale(LC_NUMERIC,
"");
83 fprintf(stderr,
"[RUBY_DEBUG_COUNTER]\t%d %s\n", getpid(), msg);
85 fprintf(stderr,
"[RUBY_DEBUG_COUNTER]\t%-30s\t%'14"PRIuSIZE"\n",
86 debug_counter_names[i],
108 debug_counter_show_results_at_exit(
void)
110 if (debug_counter_disable_show_at_exit == 0) {