summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debug_counter.h1
-rw-r--r--tool/ruby_vm/views/mjit_compile.inc.erb1
2 files changed, 2 insertions, 0 deletions
diff --git a/debug_counter.h b/debug_counter.h
index c043531c34..f6223fba85 100644
--- a/debug_counter.h
+++ b/debug_counter.h
@@ -333,6 +333,7 @@ RB_DEBUG_COUNTER(mjit_cancel_exivar_inline)
RB_DEBUG_COUNTER(mjit_cancel_send_inline)
RB_DEBUG_COUNTER(mjit_cancel_opt_insn) /* CALL_SIMPLE_METHOD */
RB_DEBUG_COUNTER(mjit_cancel_invalidate_all)
+RB_DEBUG_COUNTER(mjit_cancel_leave)
/* rb_mjit_unit_list length */
RB_DEBUG_COUNTER(mjit_length_unit_queue)
diff --git a/tool/ruby_vm/views/mjit_compile.inc.erb b/tool/ruby_vm/views/mjit_compile.inc.erb
index 019994e2dc..c9755454ba 100644
--- a/tool/ruby_vm/views/mjit_compile.inc.erb
+++ b/tool/ruby_vm/views/mjit_compile.inc.erb
@@ -76,6 +76,7 @@ switch (insn) {
fprintf(f, " if (UNLIKELY(RUBY_VM_INTERRUPTED_ANY(ec))) {\n");
fprintf(f, " reg_cfp->sp = vm_base_ptr(reg_cfp) + %d;\n", b->stack_size);
fprintf(f, " reg_cfp->pc = original_body_iseq + %d;\n", pos);
+ fprintf(f, " RB_DEBUG_COUNTER_INC(mjit_cancel_leave);\n");
fprintf(f, " goto cancel;\n");
fprintf(f, " }\n");
fprintf(f, " ec->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(reg_cfp);\n"); // vm_pop_frame