diff options
Diffstat (limited to 'vm_dump.c')
-rw-r--r-- | vm_dump.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -13,6 +13,7 @@ #include "addr2line.h" #include "vm_core.h" #include "internal.h" +#include "iseq.h" /* see vm_insnhelper.h for the values */ #ifndef VMDEBUG @@ -359,7 +360,6 @@ rb_vmdebug_debug_print_pre(rb_thread_t *th, rb_control_frame_t *cfp,VALUE *_pc) rb_iseq_t *iseq = cfp->iseq; if (iseq != 0) { - VALUE *seq = iseq->iseq; ptrdiff_t pc = _pc - iseq->iseq_encoded; int i; @@ -371,7 +371,9 @@ rb_vmdebug_debug_print_pre(rb_thread_t *th, rb_control_frame_t *cfp,VALUE *_pc) /* printf("%3"PRIdPTRDIFF" ", VM_CFP_CNT(th, cfp)); */ if (pc >= 0) { - rb_iseq_disasm_insn(0, seq, (size_t)pc, iseq, 0); + const VALUE *iseq_original = rb_iseq_original_iseq(iseq); + + rb_iseq_disasm_insn(0, iseq_original, (size_t)pc, iseq, 0); } } |