summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-08-11 13:15:50 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-08-11 13:15:50 +0900
commitab39ed4f825c1957546217a8c2e510244a967193 (patch)
treeff88fda7134a094d57a3d7e8045a35d55cbad7e7 /src/vm.c
parent9feb069124286175143a13f1a324dc0f3f8fa66d (diff)
downloadmruby-ab39ed4f825c1957546217a8c2e510244a967193.tar.gz
mruby-ab39ed4f825c1957546217a8c2e510244a967193.zip
Defer `mid` update after `unshift`; ref #3776
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index f37ce57c8..22d7f997f 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1393,7 +1393,6 @@ RETRY_TRY_BLOCK:
ERR_PC_SET(mrb, pc);
mrb_method_missing(mrb, mid, recv, args);
}
- mid = missing;
if (n != CALL_MAXARGS) {
if (a+2 >= irep->nregs) {
stack_extend(mrb, a+3);
@@ -1403,6 +1402,7 @@ RETRY_TRY_BLOCK:
n = CALL_MAXARGS;
}
mrb_ary_unshift(mrb, regs[a+1], mrb_symbol_value(mid));
+ mid = missing;
}
/* push callinfo */