diff --git a/vm.c b/vm.c index 733c2c24d1..d4f555df6c 100644 --- a/vm.c +++ b/vm.c @@ -28,6 +28,7 @@ #include "internal/sanitizers.h" #include "iseq.h" #include "mjit.h" +#include "yjit.h" #include "ruby/st.h" #include "ruby/vm.h" #include "vm_core.h" @@ -37,7 +38,6 @@ #include "vm_insnhelper.h" #include "ractor_core.h" #include "vm_sync.h" -#include "yjit.h" #include "builtin.h" @@ -345,10 +345,6 @@ static void vm_collect_usage_insn(int insn); static void vm_collect_usage_register(int reg, int isset); #endif -#if RUBY_DEBUG -static void vm_yjit_collect_usage_insn(int insn); -#endif - static VALUE vm_make_env_object(const rb_execution_context_t *ec, rb_control_frame_t *cfp); extern VALUE rb_vm_invoke_bmethod(rb_execution_context_t *ec, rb_proc_t *proc, VALUE self, int argc, const VALUE *argv, int kw_splat, VALUE block_handler, @@ -4061,14 +4057,6 @@ MAYBE_UNUSED(static void (*ruby_vm_collect_usage_func_register)(int reg, int iss #endif -#if RUBY_DEBUG -static void -vm_yjit_collect_usage_insn(int insn) -{ - rb_yjit_collect_vm_usage_insn(insn); -} -#endif - #if VM_COLLECT_USAGE_DETAILS /* @param insn instruction number */ static void diff --git a/vm_insnhelper.h b/vm_insnhelper.h index 22a181f95a..459f567106 100644 --- a/vm_insnhelper.h +++ b/vm_insnhelper.h @@ -25,9 +25,9 @@ MJIT_SYMBOL_EXPORT_END #define COLLECT_USAGE_OPERAND(insn, n, op) vm_collect_usage_operand((insn), (n), ((VALUE)(op))) #define COLLECT_USAGE_REGISTER(reg, s) vm_collect_usage_register((reg), (s)) -#elif RUBY_DEBUG +#elif YJIT_STATS /* for --yjit-stats */ -#define COLLECT_USAGE_INSN(insn) vm_yjit_collect_usage_insn(insn) +#define COLLECT_USAGE_INSN(insn) rb_yjit_collect_vm_usage_insn(insn) #define COLLECT_USAGE_OPERAND(insn, n, op) /* none */ #define COLLECT_USAGE_REGISTER(reg, s) /* none */ #else diff --git a/yjit.h b/yjit.h index 2844fb2511..e3dd3a2f05 100644 --- a/yjit.h +++ b/yjit.h @@ -5,6 +5,8 @@ #ifndef YJIT_H #define YJIT_H 1 +#include "ruby/internal/config.h" +#include "ruby_assert.h" // for RUBY_DEBUG #include "vm_core.h" #include "method.h" @@ -26,6 +28,10 @@ #define YJIT_DUMP_MODE 0 #endif +#ifndef YJIT_STATS +# define YJIT_STATS RUBY_DEBUG +#endif // ifndef YJIT_STATS + #ifndef rb_iseq_t typedef struct rb_iseq_struct rb_iseq_t; #define rb_iseq_t rb_iseq_t