diff --git a/src/vm.c b/src/vm.c index 7eae322f7..468396a51 100644 --- a/src/vm.c +++ b/src/vm.c @@ -873,7 +873,13 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) else { ci->argc = n; } - ci->target_class = c; + if (c->tt == MRB_TT_ICLASS) { + ci->target_class = c->c; + } + else { + ci->target_class = c; + } + ci->pc = pc + 1; ci->acc = a;