From d98d84b75dab450070ff3dc7154661a9941fb44d Mon Sep 17 00:00:00 2001 From: Maxime Chevalier-Boisvert Date: Wed, 30 Nov 2022 14:09:10 -0500 Subject: [PATCH] YJIT: add new counters for deferred compilation and queued blocks (#6837) --- yjit.rb | 2 ++ yjit/src/core.rs | 4 ++++ yjit/src/stats.rs | 2 ++ 3 files changed, 8 insertions(+) diff --git a/yjit.rb b/yjit.rb index 8d67069b13..cc99a31648 100644 --- a/yjit.rb +++ b/yjit.rb @@ -261,6 +261,8 @@ module RubyVM::YJIT $stderr.puts "compiled_iseq_count: " + ("%10d" % stats[:compiled_iseq_count]) $stderr.puts "compiled_block_count: " + ("%10d" % stats[:compiled_block_count]) $stderr.puts "compiled_branch_count: " + ("%10d" % stats[:compiled_branch_count]) + $stderr.puts "block_next_count: " + ("%10d" % stats[:block_next_count]) + $stderr.puts "defer_count: " + ("%10d" % stats[:defer_count]) $stderr.puts "freed_iseq_count: " + ("%10d" % stats[:freed_iseq_count]) $stderr.puts "invalidation_count: " + ("%10d" % stats[:invalidation_count]) $stderr.puts "constant_state_bumps: " + ("%10d" % stats[:constant_state_bumps]) diff --git a/yjit/src/core.rs b/yjit/src/core.rs index 0c55ba89fc..9f89a6e554 100644 --- a/yjit/src/core.rs +++ b/yjit/src/core.rs @@ -1489,6 +1489,8 @@ fn gen_block_series_body( _ => break }; + incr_counter!(block_next_count); + // Get id and context for the new block let requested_id = last_target.id; let requested_ctx = &last_target.ctx; @@ -2089,6 +2091,8 @@ pub fn defer_compilation( gen_jump_branch(asm, dst_addr, None, BranchShape::Default); } asm.mark_branch_end(&branch_rc); + + incr_counter!(defer_count); } fn remove_from_graph(blockref: &BlockRef) { diff --git a/yjit/src/stats.rs b/yjit/src/stats.rs index 03eec21b50..ee841a4c04 100644 --- a/yjit/src/stats.rs +++ b/yjit/src/stats.rs @@ -269,6 +269,8 @@ make_counters! { compiled_block_count, compiled_branch_count, compilation_failure, + block_next_count, + defer_count, freed_iseq_count, exit_from_branch_stub,