summaryrefslogtreecommitdiff
path: root/zjit.rb
diff options
context:
space:
mode:
authorTakashi Kokubun <takashi.kokubun@shopify.com>2025-09-30 08:15:06 -0700
committerGitHub <noreply@github.com>2025-09-30 08:15:06 -0700
commitd016595387069677c6b992dffe9322f67dc9bc73 (patch)
tree792812ba332a7ae2700b04d0540592910979c931 /zjit.rb
parentd8c8623f50af8f5324e1679ff95b1a2071c0c61e (diff)
ZJIT: Unify fallback counters for send-ish insns (#14676)
Diffstat (limited to 'zjit.rb')
-rw-r--r--zjit.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/zjit.rb b/zjit.rb
index a46802553c..4438a10c75 100644
--- a/zjit.rb
+++ b/zjit.rb
@@ -39,12 +39,14 @@ class << RubyVM::ZJIT
buf = +"***ZJIT: Printing ZJIT statistics on exit***\n"
stats = self.stats
- # Show non-exit counters
- print_counters_with_prefix(prefix: 'dynamic_send_type_', prompt: 'dynamic send types', buf:, stats:, limit: 20)
- print_counters_with_prefix(prefix: 'unspecialized_def_type_', prompt: 'send fallback unspecialized def_types', buf:, stats:, limit: 20)
- print_counters_with_prefix(prefix: 'send_fallback_', prompt: 'dynamic send types', buf:, stats:, limit: 20)
+ # Show counters independent from exit_* or dynamic_send_*
print_counters_with_prefix(prefix: 'not_optimized_cfuncs_', prompt: 'unoptimized sends to C functions', buf:, stats:, limit: 20)
+ # Show fallback counters, ordered by the typical amount of fallbacks for the prefix at the time
+ print_counters_with_prefix(prefix: 'unspecialized_def_type_', prompt: 'not optimized method types', buf:, stats:, limit: 20)
+ print_counters_with_prefix(prefix: 'not_optimized_yarv_insn_', prompt: 'not optimized instructions', buf:, stats:, limit: 20)
+ print_counters_with_prefix(prefix: 'send_fallback_', prompt: 'send fallback reasons', buf:, stats:, limit: 20)
+
# Show exit counters, ordered by the typical amount of exits for the prefix at the time
print_counters_with_prefix(prefix: 'unhandled_yarv_insn_', prompt: 'unhandled YARV insns', buf:, stats:, limit: 20)
print_counters_with_prefix(prefix: 'compile_error_', prompt: 'compile error reasons', buf:, stats:, limit: 20)