diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -2884,12 +2884,11 @@ RETRY_TRY_BLOCK: CASE(OP_STOP) { /* stop VM */ L_STOP: - { - int epos = mrb->c->ci->epos; - - while (mrb->c->eidx > epos) { - ecall(mrb); - } + while (mrb->c->ci > mrb->c->cibase) { + cipop(mrb); + } + while (mrb->c->eidx > 0) { + ecall(mrb); } ERR_PC_CLR(mrb); mrb->jmp = prev_jmp; |
