Remove `mrb_run` from `MRB_API`; #4488

`mrb_run` requires to push callinfo stack before calling, which is very
hard from outside of `vm.c`. So there should be virtually no correct
usage of the function, hence the cause of #4488. We removed it.

You can use `mrb_top_run(mrb, proc, self, 0)` instead of
`mrb_run(mrb, proc self)`.
parent 2fcdd3f8
...@@ -1150,7 +1150,6 @@ MRB_API void mrb_close(mrb_state *mrb); ...@@ -1150,7 +1150,6 @@ MRB_API void mrb_close(mrb_state *mrb);
MRB_API void* mrb_default_allocf(mrb_state*, void*, size_t, void*); MRB_API void* mrb_default_allocf(mrb_state*, void*, size_t, void*);
MRB_API mrb_value mrb_top_self(mrb_state *mrb); MRB_API mrb_value mrb_top_self(mrb_state *mrb);
MRB_API mrb_value mrb_run(mrb_state *mrb, struct RProc* proc, mrb_value self);
MRB_API mrb_value mrb_top_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stack_keep); MRB_API mrb_value mrb_top_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stack_keep);
MRB_API mrb_value mrb_vm_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stack_keep); MRB_API mrb_value mrb_vm_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stack_keep);
MRB_API mrb_value mrb_vm_exec(mrb_state *mrb, struct RProc *proc, const mrb_code *iseq); MRB_API mrb_value mrb_vm_exec(mrb_state *mrb, struct RProc *proc, const mrb_code *iseq);
......
...@@ -324,6 +324,7 @@ cipop(mrb_state *mrb) ...@@ -324,6 +324,7 @@ cipop(mrb_state *mrb)
} }
void mrb_exc_set(mrb_state *mrb, mrb_value exc); void mrb_exc_set(mrb_state *mrb, mrb_value exc);
static mrb_value mrb_run(mrb_state *mrb, struct RProc* proc, mrb_value self);
static void static void
ecall(mrb_state *mrb) ecall(mrb_state *mrb)
...@@ -2808,7 +2809,7 @@ RETRY_TRY_BLOCK: ...@@ -2808,7 +2809,7 @@ RETRY_TRY_BLOCK:
MRB_END_EXC(&c_jmp); MRB_END_EXC(&c_jmp);
} }
MRB_API mrb_value static mrb_value
mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
{ {
if (mrb->c->ci->argc < 0) { if (mrb->c->ci->argc < 0) {
......
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