mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Remove unreachable blocks in OP_RETURN
When `mrb->c->prev` is non `NULL` and `mrb->c->noexec` is false, switching source fiber should suspend with `Fiber#resume`. In this case, the condition `mrb->c->ci == mrb->c->cibase` is not satisfied.
This commit is contained in:
@@ -2340,16 +2340,6 @@ RETRY_TRY_BLOCK:
|
||||
|
||||
NORMAL_RETURN:
|
||||
ci = mrb->c->ci;
|
||||
|
||||
if (ci == mrb->c->cibase) {
|
||||
struct mrb_context *c;
|
||||
c = mrb->c;
|
||||
|
||||
if (c->prev && !c->vmexec && c->prev->ci == c->prev->cibase) {
|
||||
RAISE_LIT(mrb, E_FIBER_ERROR, "double resume");
|
||||
}
|
||||
}
|
||||
|
||||
v = regs[a];
|
||||
mrb_gc_protect(mrb, v);
|
||||
CHECKPOINT_RESTORE(RBREAK_TAG_BREAK) {
|
||||
|
||||
Reference in New Issue
Block a user