diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-07-31 17:28:42 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-07-31 17:28:42 +0900 |
| commit | beb6e5c299bb411a7f2a9e355e6eeca3aa785c74 (patch) | |
| tree | 706d4a1cffc4f85367f08079a6e3da1332ab8ffd /mrbgems/mruby-bin-debugger | |
| parent | 889f0f5f36212606056af4fbb7865f900c2b8af1 (diff) | |
| download | mruby-beb6e5c299bb411a7f2a9e355e6eeca3aa785c74.tar.gz mruby-beb6e5c299bb411a7f2a9e355e6eeca3aa785c74.zip | |
Bytecode support for `mrdb`.
Diffstat (limited to 'mrbgems/mruby-bin-debugger')
| -rw-r--r-- | mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c b/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c index 1b17128fd..05a6f3622 100644 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c @@ -510,6 +510,7 @@ check_method_breakpoint(mrb_state *mrb, mrb_irep *irep, mrb_code *pc, mrb_value mrb_sym sym; int32_t bpno; mrb_bool isCfunc; + struct mrb_insn_data insn; mrb_debug_context *dbg = mrb_debug_context_get(mrb); @@ -517,11 +518,12 @@ check_method_breakpoint(mrb_state *mrb, mrb_irep *irep, mrb_code *pc, mrb_value bpno = dbg->method_bpno; dbg->method_bpno = 0; - switch(*pc) { + insn = mrb_decode_insn(pc); + switch(insn.insn) { case OP_SEND: case OP_SENDB: - c = mrb_class(mrb, regs[GETARG_A(*pc)]); - sym = irep->syms[GETARG_B(*pc)]; + c = mrb_class(mrb, regs[insn.a]); + sym = irep->syms[insn.b]; break; case OP_SUPER: c = mrb->c->ci->target_class->super; |
