diff options
-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 |