1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Add UJIT.reset_stats!

To allow analyzing sections of the application.
This commit is contained in:
Alan Wu 2021-03-03 16:56:24 -05:00
parent 699bf97493
commit 8302eb57b0
2 changed files with 19 additions and 0 deletions

View file

@ -43,6 +43,12 @@ module UJIT
Primitive.get_stat_counters
end
# Discard statistics collected for --ujit-stats.
def self.reset_stats!
# defined in ujit_iface.c
Primitive.reset_stats_bang
end
class << self
private

View file

@ -561,6 +561,19 @@ get_stat_counters(rb_execution_context_t *ec, VALUE self)
#endif // if RUBY_DEBUG
}
// Primitive called in ujit.rb. Zero out all the counters.
static VALUE
reset_stats_bang(rb_execution_context_t *ec, VALUE self)
{
#if RUBY_DEBUG
vm_insns_count = 0;
rb_compiled_iseq_count = 0;
memset(&exit_op_count, 0, sizeof(exit_op_count));
memset(&ujit_runtime_counters, 0, sizeof(ujit_runtime_counters));
#endif // if RUBY_DEBUG
return Qnil;
}
#include "ujit.rbinc"
#if RUBY_DEBUG