aboutsummaryrefslogtreecommitdiffstats
path: root/mjit.h
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2020-05-26 22:49:55 -0700
committerTakashi Kokubun <takashikkbn@gmail.com>2020-05-26 23:01:52 -0700
commit61b14bb32b7e62760225cb2207df5fe87e5339ab (patch)
treebda683372013ccde012809504f02fe90bc42ff5f /mjit.h
parent4cabd77e337d2f439e4a437f41da9856903adb7e (diff)
downloadruby-61b14bb32b7e62760225cb2207df5fe87e5339ab.tar.gz
Eliminate a call instruction on JIT cancel path
by calling combined functions specialized for each cancel type. I'm hoping to improve locality of hot code, but this patch's impact should be insignificant.
Diffstat (limited to 'mjit.h')
-rw-r--r--mjit.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/mjit.h b/mjit.h
index 72d865e6d9..0c938965ac 100644
--- a/mjit.h
+++ b/mjit.h
@@ -80,7 +80,10 @@ RUBY_EXTERN bool mjit_call_p;
extern void rb_mjit_add_iseq_to_process(const rb_iseq_t *iseq);
extern VALUE rb_mjit_wait_call(rb_execution_context_t *ec, struct rb_iseq_constant_body *body);
extern struct rb_mjit_compile_info* rb_mjit_iseq_compile_info(const struct rb_iseq_constant_body *body);
-extern void rb_mjit_recompile_iseq(const rb_iseq_t *iseq);
+extern void rb_mjit_recompile_send(const rb_iseq_t *iseq);
+extern void rb_mjit_recompile_ivar(const rb_iseq_t *iseq);
+extern void rb_mjit_recompile_exivar(const rb_iseq_t *iseq);
+extern void rb_mjit_recompile_inlining(const rb_iseq_t *iseq);
RUBY_SYMBOL_EXPORT_END
extern bool mjit_compile(FILE *f, const rb_iseq_t *iseq, const char *funcname, int id);