Fixed a top-level local variable bug in `mirb`.

`OP_STOP` returned a wrong value.
parent 346f154e
...@@ -2056,6 +2056,7 @@ RETRY_TRY_BLOCK: ...@@ -2056,6 +2056,7 @@ RETRY_TRY_BLOCK:
struct mrb_context *c; struct mrb_context *c;
if (!mrb->c->prev) { /* toplevel return */ if (!mrb->c->prev) { /* toplevel return */
regs[irep->nlocals] = v;
goto L_STOP; goto L_STOP;
} }
if (mrb->c->prev->ci == mrb->c->prev->cibase) { if (mrb->c->prev->ci == mrb->c->prev->cibase) {
......
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