diff --git a/yjit.rb b/yjit.rb index c4def1af00..a789dd83b8 100644 --- a/yjit.rb +++ b/yjit.rb @@ -382,6 +382,7 @@ module RubyVM::YJIT out.puts "compiled_iseq_count: " + format_number(13, stats[:compiled_iseq_count]) out.puts "compiled_blockid_count:" + format_number(13, stats[:compiled_blockid_count]) out.puts "compiled_block_count: " + format_number(13, stats[:compiled_block_count]) + out.puts "inline_block_count: " + format_number_pct(13, stats[:inline_block_count], stats[:compiled_block_count]) out.puts "deleted_defer_block_count:" + format_number_pct(10, stats[:deleted_defer_block_count], stats[:compiled_block_count]) if stats[:compiled_blockid_count] != 0 out.puts "versions_per_block: " + format_number(13, "%4.3f" % (stats[:compiled_block_count].fdiv(stats[:compiled_blockid_count]))) diff --git a/yjit/src/core.rs b/yjit/src/core.rs index 0d310774d4..2b193ed6ca 100644 --- a/yjit/src/core.rs +++ b/yjit/src/core.rs @@ -2309,7 +2309,9 @@ pub fn limit_block_versions(blockid: BlockId, ctx: &Context) -> Context { return generic_ctx; } - incr_counter_to!(max_inline_versions, next_versions); + if ctx.inline() { + incr_counter_to!(max_inline_versions, next_versions); + } return *ctx; } @@ -2367,6 +2369,9 @@ unsafe fn add_block_version(blockref: BlockRef, cb: &CodeBlock) { } incr_counter!(compiled_block_count); + if Context::decode(block.ctx).inline() { + incr_counter!(inline_block_count); + } // Mark code pages for code GC let iseq_payload = get_iseq_payload(block.iseq.get()).unwrap(); diff --git a/yjit/src/stats.rs b/yjit/src/stats.rs index ee38bf7fb9..c2c9bc7e21 100644 --- a/yjit/src/stats.rs +++ b/yjit/src/stats.rs @@ -282,6 +282,7 @@ pub const DEFAULT_COUNTERS: &'static [Counter] = &[ Counter::compiled_branch_count, Counter::compile_time_ns, Counter::max_inline_versions, + Counter::inline_block_count, Counter::num_contexts_encoded, Counter::context_cache_hits, @@ -570,6 +571,7 @@ make_counters! { branch_insn_count, branch_known_count, max_inline_versions, + inline_block_count, num_contexts_encoded, freed_iseq_count,