diff options
-rw-r--r-- | mjit.c | 27 | ||||
-rw-r--r-- | mjit.h | 2 | ||||
-rw-r--r-- | vm.c | 2 |
3 files changed, 0 insertions, 31 deletions
@@ -937,33 +937,6 @@ mjit_finish(bool close_handle_p) verbose(1, "Successful MJIT finish"); } -// Called by rb_vm_mark() to mark iseq being JIT-ed and iseqs in the unit queue. -void -mjit_mark(void) -{ - if (!mjit_enabled) - return; - RUBY_MARK_ENTER("mjit"); - - struct rb_mjit_unit *unit = NULL; - CRITICAL_SECTION_START(4, "mjit_mark"); - list_for_each(&unit_queue.head, unit, unode) { - if (unit->iseq) { // ISeq is still not GCed - VALUE iseq = (VALUE)unit->iseq; - CRITICAL_SECTION_FINISH(4, "mjit_mark rb_gc_mark"); - - // Don't wrap critical section with this. This may trigger GC, - // and in that case mjit_gc_start_hook causes deadlock. - rb_gc_mark(iseq); - - CRITICAL_SECTION_START(4, "mjit_mark rb_gc_mark"); - } - } - CRITICAL_SECTION_FINISH(4, "mjit_mark"); - - RUBY_MARK_LEAVE("mjit"); -} - // Called by rb_iseq_mark() to mark cc_entries captured for MJIT void mjit_mark_cc_entries(const struct rb_iseq_constant_body *const body) @@ -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 */ } @@ -2594,8 +2594,6 @@ rb_vm_mark(void *ptr) rb_gc_mark_values(RUBY_NSIG, vm->trap_list.cmd); rb_id_table_foreach_values(vm->negative_cme_table, vm_mark_negative_cme, NULL); - - mjit_mark(); } RUBY_MARK_LEAVE("vm"); |