diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-06-14 04:44:02 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-06-14 04:44:02 +0900 |
| commit | 2eeaab4e81ea475d80af9d49cf333bb416fd666f (patch) | |
| tree | 215168fc160d6f9c95427d4d541fdef41daa0007 /src | |
| parent | 3fb20bc72aba82c7fb65530071ab32c62216dc81 (diff) | |
| download | mruby-2eeaab4e81ea475d80af9d49cf333bb416fd666f.tar.gz mruby-2eeaab4e81ea475d80af9d49cf333bb416fd666f.zip | |
do not offset jump from OP_ENTER if no optional argument given
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -971,7 +971,9 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) if (r) { /* r */ regs[m1+o+1] = mrb_ary_new_capa(mrb, 0); } - pc += argc - m1 - m2 + 1; + if (o == 0) pc++; + else + pc += argc - m1 - m2 + 1; } else { memmove(®s[1], argv, sizeof(mrb_value)*(m1+o)); /* m1 + o */ |
