Skip to content

Commit 77331b9

Browse files
authored
ZJIT: Count CCallWithFrame as optimized_send_count (ruby#14722)
1 parent 8eead75 commit 77331b9

File tree

3 files changed

+4
-0
lines changed

3 files changed

+4
-0
lines changed

zjit.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ def stats_string
172172
:optimized_send_count,
173173
:iseq_optimized_send_count,
174174
:inline_cfunc_optimized_send_count,
175+
:non_variadic_cfunc_optimized_send_count,
175176
:variadic_cfunc_optimized_send_count,
176177
], buf:, stats:, right_align: true, base: :send_count)
177178
print_counters([

zjit/src/codegen.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,8 @@ fn gen_patch_point(jit: &mut JITState, asm: &mut Assembler, invariant: &Invarian
670670

671671
/// Generate code for a C function call that pushes a frame
672672
fn gen_ccall_with_frame(jit: &mut JITState, asm: &mut Assembler, cfunc: *const u8, args: Vec<Opnd>, cme: *const rb_callable_method_entry_t, state: &FrameState) -> lir::Opnd {
673+
gen_incr_counter(asm, Counter::non_variadic_cfunc_optimized_send_count);
674+
673675
gen_prepare_non_leaf_call(jit, asm, state);
674676

675677
gen_push_frame(asm, args.len(), state, ControlFrame {

zjit/src/stats.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ make_counters! {
157157
optimized_send {
158158
iseq_optimized_send_count,
159159
inline_cfunc_optimized_send_count,
160+
non_variadic_cfunc_optimized_send_count,
160161
variadic_cfunc_optimized_send_count,
161162
}
162163

0 commit comments

Comments
 (0)