diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-05-06 15:49:06 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-05-07 08:38:46 +0900 |
| commit | c143d87e7ce55092aa7b3578be3d525d5b311384 (patch) | |
| tree | e949efe963d73d5c0c40e1abc1c35334c4227fa4 | |
| parent | 2fcdd3f8eb3daa6efe4a25230a40f85499686c7e (diff) | |
| download | mruby-c143d87e7ce55092aa7b3578be3d525d5b311384.tar.gz mruby-c143d87e7ce55092aa7b3578be3d525d5b311384.zip | |
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)`.
| -rw-r--r-- | include/mruby.h | 1 | ||||
| -rw-r--r-- | src/vm.c | 3 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/mruby.h b/include/mruby.h index eca7eb9cf..af7503375 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -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) { |
