summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/vm.c8
1 files changed, 7 insertions, 1 deletions
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;