Fixed a bug in recursive `mrb_top_run` calls; fix #4384

parent 3760f58d
...@@ -2863,11 +2863,11 @@ mrb_top_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int sta ...@@ -2863,11 +2863,11 @@ mrb_top_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int sta
return mrb_vm_run(mrb, proc, self, stack_keep); return mrb_vm_run(mrb, proc, self, stack_keep);
} }
ci = cipush(mrb); ci = cipush(mrb);
ci->stackent = mrb->c->stack;
ci->mid = 0; ci->mid = 0;
ci->acc = CI_ACC_SKIP; ci->acc = CI_ACC_SKIP;
ci->target_class = mrb->object_class; ci->target_class = mrb->object_class;
v = mrb_vm_run(mrb, proc, self, stack_keep); v = mrb_vm_run(mrb, proc, self, stack_keep);
cipop(mrb);
return v; return v;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment