From de164e02a0f565cf5965338e76f2ce9bcdf86e3e Mon Sep 17 00:00:00 2001 From: k0kubun Date: Sat, 23 Jun 2018 14:11:19 +0000 Subject: mjit.c: disable calling JIT-ed code when TracePoint is enabled. We're cancelling JIT-ed code execution AFTER each instruction, but there is no guard before the first insn of method. To prevent spoiling performance, I don't want to modify the JIT-ed code to fix this. So this commit replaces `mjit_enabled` check with `mjit_call_p` check. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- mjit.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'mjit.h') diff --git a/mjit.h b/mjit.h index 2f9ea85134..9460d7595f 100644 --- a/mjit.h +++ b/mjit.h @@ -51,9 +51,10 @@ struct mjit_options { typedef VALUE (*mjit_func_t)(rb_execution_context_t *, rb_control_frame_t *); +extern int mjit_enabled; RUBY_SYMBOL_EXPORT_BEGIN extern struct mjit_options mjit_opts; -extern int mjit_enabled; +extern int mjit_call_p; extern void mjit_add_iseq_to_process(const rb_iseq_t *iseq); extern mjit_func_t mjit_get_iseq_func(struct rb_iseq_constant_body *body); @@ -94,7 +95,7 @@ mjit_exec(rb_execution_context_t *ec) long unsigned total_calls; mjit_func_t func; - if (!mjit_enabled) + if (!mjit_call_p) return Qundef; iseq = ec->cfp->iseq; -- cgit v1.2.3