summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-10-19 12:03:12 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-10-19 12:03:12 +0900
commit5d5e4f521464d134250501774f49f61f11dc3997 (patch)
treeb60ec512cf477d04df4e459b879a24b9f80cb9d4 /include
parent45491cdd8cc00e837448184150e1b3f36f46bf84 (diff)
downloadmruby-5d5e4f521464d134250501774f49f61f11dc3997.tar.gz
mruby-5d5e4f521464d134250501774f49f61f11dc3997.zip
ops.h: add new instructions `OP_SSEND` and `OP_SSENDB`.
These instructions call methods of the receiver.
Diffstat (limited to 'include')
-rw-r--r--include/mruby/ops.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/mruby/ops.h b/include/mruby/ops.h
index 90e1c39de..f62d8cdfa 100644
--- a/include/mruby/ops.h
+++ b/include/mruby/ops.h
@@ -57,6 +57,8 @@ OPCODE(JMPUW, S) /* unwind_and_jump_to(a) */
OPCODE(EXCEPT, B) /* R[a] = exc */
OPCODE(RESCUE, BB) /* R[b] = R[a].isa?(R[b]) */
OPCODE(RAISEIF, B) /* raise(R[a]) if R[a] */
+OPCODE(SSEND, BBB) /* R[a] = self.send(Syms[b],R[a+1]..,R[a+n+1]:R[a+n+2]..) (c=n|k<<4) */
+OPCODE(SSENDB, BBB) /* R[a] = self.send(Syms[b],R[a+1]..,R[a+n+1]:R[a+n+2]..,&R[a+n+2k+1]) */
OPCODE(SEND, BBB) /* R[a] = R[a].send(Syms[b],R[a+1]..,R[a+n+1]:R[a+n+2]..) (c=n|k<<4) */
OPCODE(SENDB, BBB) /* R[a] = R[a].send(Syms[b],R[a+1]..,R[a+n+1]:R[a+n+2]..,&R[a+n+2k+1]) */
OPCODE(CALL, Z) /* R[0] = self.call(frame.argc, frame.argv) */