Merge pull request #5972 from dearblue/simple-mrb_top_run

Simplify `mrb_top_run()`
This commit is contained in:
Yukihiro "Matz" Matsumoto
2023-04-06 10:46:56 +09:00
committed by GitHub
+3 -11
View File
@@ -3122,18 +3122,10 @@ mrb_run(mrb_state *mrb, const struct RProc *proc, mrb_value self)
MRB_API mrb_value
mrb_top_run(mrb_state *mrb, const struct RProc *proc, mrb_value self, mrb_int stack_keep)
{
mrb_value v;
if (!mrb->c->cibase) {
return mrb_vm_run(mrb, proc, self, stack_keep);
if (mrb->c->cibase && mrb->c->ci > mrb->c->cibase) {
cipush(mrb, 0, CINFO_SKIP, mrb->object_class, NULL, NULL, 0, 0);
}
if (mrb->c->ci == mrb->c->cibase) {
return mrb_vm_run(mrb, proc, self, stack_keep);
}
cipush(mrb, 0, CINFO_SKIP, mrb->object_class, NULL, NULL, 0, 0);
v = mrb_vm_run(mrb, proc, self, stack_keep);
return v;
return mrb_vm_run(mrb, proc, self, stack_keep);
}
#if defined(MRB_USE_CXX_EXCEPTION) && defined(__cplusplus)