diff options
author | Takashi Kokubun <[email protected]> | 2022-12-24 00:11:59 -0800 |
---|---|---|
committer | Takashi Kokubun <[email protected]> | 2023-03-05 22:11:20 -0800 |
commit | 114f8d3e330735fda394c58d7a373913f9ccb93b (patch) | |
tree | 01460b5493c5f60f2b6e201e2b1df668d674a48d | |
parent | 43f579afb404be4c1c6dfd98e1936a2ede917e7f (diff) |
Disable MJIT on a couple of conditions
-rw-r--r-- | mjit.c | 14 | ||||
-rw-r--r-- | mjit.h | 6 |
2 files changed, 20 insertions, 0 deletions
@@ -370,6 +370,20 @@ mjit_compile(FILE *f, const rb_iseq_t *iseq, const char *funcname, int id) // JIT buffer uint8_t *rb_mjit_mem_block = NULL; +MJIT_FUNC_EXPORTED void +rb_mjit_bop_redefined(int redefined_flag, enum ruby_basic_operators bop) +{ + if (!mjit_call_p) return; + mjit_call_p = false; +} + +void +rb_mjit_before_ractor_spawn(void) +{ + if (!mjit_call_p) return; + mjit_call_p = false; +} + void rb_mjit_compile(const rb_iseq_t *iseq) { @@ -114,6 +114,9 @@ extern void rb_mjit_tracing_invalidate_all(rb_event_flag_t new_iseq_events); void mjit_child_after_fork(void); +extern void rb_mjit_bop_redefined(int redefined_flag, enum ruby_basic_operators bop); +extern void rb_mjit_before_ractor_spawn(void); + # ifdef MJIT_HEADER #define mjit_enabled true # else // MJIT_HEADER @@ -143,5 +146,8 @@ static inline VALUE mjit_pause(bool wait_p){ return Qnil; } // unreachable static inline VALUE mjit_resume(void){ return Qnil; } // unreachable static inline void mjit_finish(bool close_handle_p){} +static inline void rb_mjit_bop_redefined(int redefined_flag, enum ruby_basic_operators bop) {} +static inline void rb_mjit_before_ractor_spawn(void) {} + # endif // USE_MJIT #endif // RUBY_MJIT_H |