diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-11-21 15:42:24 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-11-21 15:50:17 +0900 |
| commit | 00751ccbcd14a6681f2a9ff1f6dce84708309bc0 (patch) | |
| tree | eb875e65d3a47ad39cad639aec5e1c7194ad2a03 /include | |
| parent | 59e581ed7811fc2afdeb410481e79adfe99e5a6a (diff) | |
| download | mruby-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.h | 7 |
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) */ |
