From 1c057cfc2fd84369a2ebff048c4a5fdf5fa08fff Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Fri, 9 Dec 2022 13:14:19 -0800 Subject: YJIT: Filter out 0-exit ops from Top-20 exit ops (#6892) --- yjit.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'yjit.rb') diff --git a/yjit.rb b/yjit.rb index cc99a31648..a487f23b52 100644 --- a/yjit.rb +++ b/yjit.rb @@ -299,14 +299,14 @@ module RubyVM::YJIT end end - exits = exits.sort_by { |name, count| -count }[0...how_many] + exits = exits.select { |_name, count| count > 0 }.sort_by { |_name, count| -count }.first(how_many) total_exits = total_exit_count(stats) if total_exits > 0 top_n_total = exits.map { |name, count| count }.sum top_n_exit_pct = 100.0 * top_n_total / total_exits - $stderr.puts "Top-#{how_many} most frequent exit ops (#{"%.1f" % top_n_exit_pct}% of exits):" + $stderr.puts "Top-#{exits.size} most frequent exit ops (#{"%.1f" % top_n_exit_pct}% of exits):" longest_insn_name_len = exits.map { |name, count| name.length }.max exits.each do |name, count| -- cgit v1.2.1