From b710785f1aaaa06bd5cd2e7a584c24aff20c9ab4 Mon Sep 17 00:00:00 2001 From: ko1 Date: Sat, 20 Oct 2018 06:53:00 +0000 Subject: add disabling MJIT features option. * configure.ac: introduce new configure option `--enable-mjit` and `--disable-mjit`. Default is "enable". `--disable-mjit` disables all of MJIT features so that `ruby --jit` can't enable MJIT. This option affect a macro `USE_MJIT`. This change remove `--enable/disable-install-mjit-header` option. * Makefile.in: introduce the `ENABLE_MJIT` variable. * common.mk: use `ENABLE_MJIT` option. * internal.h: respect `USE_MJIT`. Same as other *.c, *.h. * test/ruby/test_jit.rb: check `ENABLE_MJIT` key of rbconfg.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- mjit.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'mjit.h') diff --git a/mjit.h b/mjit.h index 0efa04ac8d..d502b906dc 100644 --- a/mjit.h +++ b/mjit.h @@ -11,6 +11,8 @@ #include "ruby.h" +#if USE_MJIT + /* Special address values of a function generated from the corresponding iseq by MJIT: */ enum rb_mjit_iseq_func { @@ -125,4 +127,20 @@ mjit_exec(rb_execution_context_t *ec) return func(ec, ec->cfp); } +void mjit_child_after_fork(void); + +#else /* USE_MJIT */ +static inline struct mjit_cont *mjit_cont_new(rb_execution_context_t *ec){return NULL;} +static inline void mjit_cont_free(struct mjit_cont *cont){} +static inline void mjit_finish(void){} +static inline void mjit_gc_start_hook(void){} +static inline void mjit_gc_finish_hook(void){} +static inline void mjit_free_iseq(const rb_iseq_t *iseq){} +static inline void mjit_mark(void){} +static inline void mjit_add_class_serial(rb_serial_t class_serial){} +static inline void mjit_remove_class_serial(rb_serial_t class_serial){} +static inline VALUE mjit_exec(rb_execution_context_t *ec) { return Qundef; /* unreachable */ } +static inline void mjit_child_after_fork(void){} + +#endif /* USE_MJIT */ #endif /* RUBY_MJIT_H */ -- cgit v1.2.3