summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-06-11 14:50:03 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-06-11 14:50:03 +0900
commita9b740b36b4518552d61f349afc02c325413d2ad (patch)
tree67779bd3c0852e35f0dd0916acf98d22a24ccd29
parentfaa4eaf6803bd11669bc324b4c34e7162286bfa3 (diff)
downloadmruby-a9b740b36b4518552d61f349afc02c325413d2ad.tar.gz
mruby-a9b740b36b4518552d61f349afc02c325413d2ad.zip
Retrieve `b` operand from the instruction (for debugging); ref #4020
-rw-r--r--src/vm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index 59ae57c32..552bc8072 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1398,6 +1398,7 @@ RETRY_TRY_BLOCK:
CASE(OP_SEND) {
/* A B C R(A) := call(R(A),Syms(B),R(A+1),...,R(A+C)) */
int a = GETARG_A(i);
+ int b = GETARG_B(i);
int n = GETARG_C(i);
int argc = (n == CALL_MAXARGS) ? -1 : n;
int bidx = (argc < 0) ? a+2 : a+n+1;
@@ -1405,7 +1406,7 @@ RETRY_TRY_BLOCK:
struct RClass *c;
mrb_callinfo *ci = mrb->c->ci;
mrb_value recv, blk;
- mrb_sym mid = syms[GETARG_B(i)];
+ mrb_sym mid = syms[b];
mrb_assert(bidx < ci->nregs);