From 7c99df8416aa866725c11e5ced7f2c5a818a8c74 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 17 Sep 2021 07:49:47 +0900 Subject: ops.h: add `OP_ARYPUSH_N` instruction. Add n elements at once. Reduces instructions for huge array initialization. In addition, `gen_value` function in `codegen.c` was refactored and clarified. --- include/mruby/ops.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/mruby/ops.h b/include/mruby/ops.h index 49b624ecb..8fe9e5df7 100644 --- a/include/mruby/ops.h +++ b/include/mruby/ops.h @@ -86,6 +86,7 @@ OPCODE(ARRAY, BB) /* R(a) = ary_new(R(a),R(a+1)..R(a+b)) */ OPCODE(ARRAY2, BBB) /* R(a) = ary_new(R(b),R(b+1)..R(b+c)) */ OPCODE(ARYCAT, B) /* ary_cat(R(a),R(a+1)) */ OPCODE(ARYPUSH, B) /* ary_push(R(a),R(a+1)) */ +OPCODE(ARYPUSH_N, BB) /* ary_push(R(a),R(a+1)..R(a+b)) */ OPCODE(ARYDUP, B) /* R(a) = ary_dup(R(a)) */ OPCODE(AREF, BBB) /* R(a) = R(b)[c] */ OPCODE(ASET, BBB) /* R(a)[c] = R(b) */ -- cgit v1.2.3