From a574df14e45b8b5a1de7bfe949e08b61ae51b0bd Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Sun, 20 Dec 2020 21:54:27 -0800 Subject: Stop marking unit_queue The original motivation of this marking was https://github.com/k0kubun/yarv-mjit/issues/20. As wanabe said, there are multiple options to mitigate the issue, and Eric Wong introduced another fix at 143776f6fe by checking unit->iseq inside the lock. Therefore this particular condition has been covered in two ways, and the script given by wanabe no longer crashes without mjit_mark(). --- mjit.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'mjit.h') diff --git a/mjit.h b/mjit.h index a523bc9512..89d9a7ae85 100644 --- a/mjit.h +++ b/mjit.h @@ -98,7 +98,6 @@ extern void mjit_gc_start_hook(void); extern void mjit_gc_exit_hook(void); extern void mjit_free_iseq(const rb_iseq_t *iseq); extern void mjit_update_references(const rb_iseq_t *iseq); -extern void mjit_mark(void); extern struct mjit_cont *mjit_cont_new(rb_execution_context_t *ec); extern void mjit_cont_free(struct mjit_cont *cont); extern void mjit_add_class_serial(rb_serial_t class_serial); @@ -201,7 +200,6 @@ static inline void mjit_cont_free(struct mjit_cont *cont){} static inline void mjit_gc_start_hook(void){} static inline void mjit_gc_exit_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 */ } -- cgit v1.2.3