mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Add RubyVM.reset_debug_counters when RB_DEBUG_COUNTER
is defined. It's 0 by default and so it dissappears on actual build. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
57f9a700d7
commit
5ce28c0642
3 changed files with 14 additions and 0 deletions
|
@ -43,6 +43,15 @@ rb_debug_counter_show_results(const char *msg)
|
|||
}
|
||||
}
|
||||
|
||||
VALUE
|
||||
rb_debug_counter_reset(void)
|
||||
{
|
||||
for (int i = 0; i < RB_DEBUG_COUNTER_MAX; i++) {
|
||||
rb_debug_counter[i] = 0;
|
||||
}
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
__attribute__((destructor))
|
||||
static void
|
||||
debug_counter_show_results_at_exit(void)
|
||||
|
|
|
@ -319,6 +319,8 @@ rb_debug_counter_add(enum rb_debug_counter_type type, int add, int cond)
|
|||
return cond;
|
||||
}
|
||||
|
||||
VALUE rb_debug_counter_reset(void);
|
||||
|
||||
#define RB_DEBUG_COUNTER_INC(type) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, 1)
|
||||
#define RB_DEBUG_COUNTER_INC_UNLESS(type, cond) (!rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, !(cond)))
|
||||
#define RB_DEBUG_COUNTER_INC_IF(type, cond) rb_debug_counter_add(RB_DEBUG_COUNTER_##type, 1, (cond))
|
||||
|
|
3
vm.c
3
vm.c
|
@ -2872,6 +2872,9 @@ Init_VM(void)
|
|||
rb_undef_alloc_func(rb_cRubyVM);
|
||||
rb_undef_method(CLASS_OF(rb_cRubyVM), "new");
|
||||
rb_define_singleton_method(rb_cRubyVM, "stat", vm_stat, -1);
|
||||
#if USE_DEBUG_COUNTER
|
||||
rb_define_singleton_method(rb_cRubyVM, "reset_debug_counters", rb_debug_counter_reset, 0);
|
||||
#endif
|
||||
|
||||
/* FrozenCore (hidden) */
|
||||
fcore = rb_class_new(rb_cBasicObject);
|
||||
|
|
Loading…
Reference in a new issue