diff options
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -2398,7 +2398,9 @@ rb_execution_context_mark(const rb_execution_context_t *ec) } /* mark machine stack */ - if (ec->machine.stack_start && ec->machine.stack_end) { + if (ec->machine.stack_start && ec->machine.stack_end && + ec != GET_EC() /* marked for current ec at the first stage of marking */ + ) { rb_gc_mark_machine_stack(ec); rb_gc_mark_locations((VALUE *)&ec->machine.regs, (VALUE *)(&ec->machine.regs) + |