summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-09-18 12:29:58 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-09-19 09:07:20 +0900
commit8bfa99975c8fc9ed171549b0710cab7a395116c5 (patch)
treecf503ae6e95eb5730bb3a898f047f11ebef1a1ee /src/vm.c
parent7c99df8416aa866725c11e5ced7f2c5a818a8c74 (diff)
downloadmruby-8bfa99975c8fc9ed171549b0710cab7a395116c5.tar.gz
mruby-8bfa99975c8fc9ed171549b0710cab7a395116c5.zip
codegen.c: unify `OP_ARYPUSH` and `OP_ARYPUSH_N`.
- `OP_ARYPUSH` now takes operand for the number of pushing elements - the code generator consume the stack no more than `64` for `mruby/c`
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/vm.c b/src/vm.c
index 5690684cb..b50354061 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -2546,12 +2546,7 @@ RETRY_TRY_BLOCK:
NEXT;
}
- CASE(OP_ARYPUSH, B) {
- mrb_ary_push(mrb, regs[a], regs[a+1]);
- NEXT;
- }
-
- CASE(OP_ARYPUSH_N, BB) {
+ CASE(OP_ARYPUSH, BB) {
for (mrb_int i=0; i<b; i++) {
mrb_ary_push(mrb, regs[a], regs[a+i+1]);
}