summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-11-21 15:42:24 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-11-21 15:50:17 +0900
commit00751ccbcd14a6681f2a9ff1f6dce84708309bc0 (patch)
treeeb875e65d3a47ad39cad639aec5e1c7194ad2a03 /include
parent59e581ed7811fc2afdeb410481e79adfe99e5a6a (diff)
downloadmruby-00751ccbcd14a6681f2a9ff1f6dce84708309bc0.tar.gz
mruby-00751ccbcd14a6681f2a9ff1f6dce84708309bc0.zip
Reserve `OP_SENDVK` for the future keyword arguments like Ruby3.0.
Diffstat (limited to 'include')
-rw-r--r--include/mruby/ops.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/mruby/ops.h b/include/mruby/ops.h
index 87f48d2a9..02f227634 100644
--- a/include/mruby/ops.h
+++ b/include/mruby/ops.h
@@ -61,13 +61,14 @@ OPCODE(SENDV, BB) /* R(a) = call(R(a),Syms(b),*R(a+1)) */
OPCODE(SENDVB, BB) /* R(a) = call(R(a),Syms(b),*R(a+1),&R(a+2)) */
OPCODE(SEND, BBB) /* R(a) = call(R(a),Syms(b),R(a+1),...,R(a+c)) */
OPCODE(SENDB, BBB) /* R(a) = call(R(a),Syms(b),R(a+1),...,R(a+c),&R(a+c+1)) */
+OPCODE(SENDVK, BB) /* R(a) = call(R(a),Syms(b),*R(a+1),**(a+2),&R(a+3)) # todo */
OPCODE(CALL, Z) /* R(0) = self.call(frame.argc, frame.argv) */
OPCODE(SUPER, BB) /* R(a) = super(R(a+1),... ,R(a+b+1)) */
OPCODE(ARGARY, BS) /* R(a) = argument array (16=m5:r1:m5:d1:lv4) */
OPCODE(ENTER, W) /* arg setup according to flags (23=m5:o5:r1:m5:k5:d1:b1) */
-OPCODE(KEY_P, BB) /* R(a) = kdict.key?(Syms(b)) # todo */
-OPCODE(KEYEND, Z) /* raise unless kdict.empty? # todo */
-OPCODE(KARG, BB) /* R(a) = kdict[Syms(b)]; kdict.delete(Syms(b)) # todo */
+OPCODE(KEY_P, BB) /* R(a) = kdict.key?(Syms(b)) */
+OPCODE(KEYEND, Z) /* raise unless kdict.empty? */
+OPCODE(KARG, BB) /* R(a) = kdict[Syms(b)]; kdict.delete(Syms(b)) */
OPCODE(RETURN, B) /* return R(a) (normal) */
OPCODE(RETURN_BLK, B) /* return R(a) (in-block return) */
OPCODE(BREAK, B) /* break R(a) */