From 8502a549ef506164ba506cecb5e1003bf53a4f27 Mon Sep 17 00:00:00 2001 From: Maxime Chevalier-Boisvert Date: Fri, 6 Dec 2024 12:25:39 -0500 Subject: [PATCH] YJIT: small fix to stats formatting. (#12282) Avoid division by zero and NaN%, e.g. num_throw_break: 0 ( NaN%) num_throw_retry: 0 ( NaN%) num_throw_return: 0 ( NaN%) --- yjit.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/yjit.rb b/yjit.rb index fa8f05096d..8eb7ef677c 100644 --- a/yjit.rb +++ b/yjit.rb @@ -521,9 +521,14 @@ module RubyVM::YJIT # Format a number along with a percentage over a total value def format_number_pct(pad, number, total) # :nodoc: padded_count = format_number(pad, number) - percentage = number.fdiv(total) * 100 - formatted_pct = "%4.1f%%" % percentage - "#{padded_count} (#{formatted_pct})" + + if total != 0 + percentage = number.fdiv(total) * 100 + formatted_pct = "%4.1f%%" % percentage + "#{padded_count} (#{formatted_pct})" + else + "#{padded_count}" + end end # :startdoc: