1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Drop JIT_ISEQ_SIZE_THRESHOLD

Compiling everything seems to contributed to improving the final
performance in general. MJIT's compilation is slow anyway, especially
when you need to wait for JIT compaction.

This might make sense for short-time benchmarks like Optcarrot with
default parameters, but it didn't give benefits in my local environment.
This commit is contained in:
Takashi Kokubun 2021-05-31 21:12:27 -07:00
parent c9ab8fe2b1
commit 07c05b6fe9
No known key found for this signature in database
GPG key ID: 6FFC433B12EE23DD
2 changed files with 1 additions and 6 deletions

3
mjit.c
View file

@ -250,8 +250,7 @@ static inline int
mjit_target_iseq_p(struct rb_iseq_constant_body *body)
{
return (body->type == ISEQ_TYPE_METHOD || body->type == ISEQ_TYPE_BLOCK)
&& !body->builtin_inline_p
&& body->iseq_size < JIT_ISEQ_SIZE_THRESHOLD;
&& !body->builtin_inline_p;
}
static void

4
mjit.h
View file

@ -101,10 +101,6 @@ extern struct mjit_cont *mjit_cont_new(rb_execution_context_t *ec);
extern void mjit_cont_free(struct mjit_cont *cont);
extern void mjit_mark_cc_entries(const struct rb_iseq_constant_body *const body);
// A threshold used to reject long iseqs from JITting as such iseqs
// takes too much time to be compiled.
#define JIT_ISEQ_SIZE_THRESHOLD 1000
# ifdef MJIT_HEADER
NOINLINE(static COLDFUNC VALUE mjit_exec_slowpath(rb_execution_context_t *ec, const rb_iseq_t *iseq, struct rb_iseq_constant_body *body));
# else