summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>2022-11-30 14:09:10 -0500
committerGitHub <noreply@github.com>2022-11-30 14:09:10 -0500
commitd98d84b75dab450070ff3dc7154661a9941fb44d (patch)
treee4f6d979f7d6391ef88a0275d56f53305f5ff99e
parentab4c7077cc44cd6725625562b7380a44cf462190 (diff)
YJIT: add new counters for deferred compilation and queued blocks (#6837)
Notes
Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
-rw-r--r--yjit.rb2
-rw-r--r--yjit/src/core.rs4
-rw-r--r--yjit/src/stats.rs2
3 files changed, 8 insertions, 0 deletions
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,