mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
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)`.
This commit is contained in:
@@ -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 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_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);
|
||||
|
||||
@@ -324,6 +324,7 @@ cipop(mrb_state *mrb)
|
||||
}
|
||||
|
||||
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
|
||||
ecall(mrb_state *mrb)
|
||||
@@ -2808,7 +2809,7 @@ RETRY_TRY_BLOCK:
|
||||
MRB_END_EXC(&c_jmp);
|
||||
}
|
||||
|
||||
MRB_API mrb_value
|
||||
static mrb_value
|
||||
mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
|
||||
{
|
||||
if (mrb->c->ci->argc < 0) {
|
||||
|
||||
Reference in New Issue
Block a user