diff --git a/src/vm.c b/src/vm.c index 9b03789db..a1f272a52 100644 --- a/src/vm.c +++ b/src/vm.c @@ -3112,7 +3112,9 @@ RETRY_TRY_BLOCK: { \ mrb_value arg = mrb_int_value(mrb, c); \ mrb_sym mid = MRB_OPSYM(op_name); \ - regs[a] = mrb_funcall_argv(mrb, regs[a], mid, 1, &arg); \ + mrb_value v = mrb_funcall_argv(mrb, regs[a], mid, 1, &arg); \ + ci = mrb->c->ci; \ + regs[a] = v; \ mrb_gc_arena_restore(mrb, ai); \ } \ break; \