From 31f4d262736c224a37e7c630a0790d40b11cdd57 Mon Sep 17 00:00:00 2001 From: eileencodes Date: Wed, 23 Jun 2021 13:28:22 -0400 Subject: Check type of instruction - can be INSN or ADJUST If the type is ADJUST we don't want to treat it like an INSN so we have to check the type before reading from `insn_info.events`. [Bug #18001] [ruby-core:104371] Co-authored-by: Aaron Patterson --- compile.c | 1 + 1 file changed, 1 insertion(+) (limited to 'compile.c') diff --git a/compile.c b/compile.c index c541711ff9..a73a5be9a1 100644 --- a/compile.c +++ b/compile.c @@ -3088,6 +3088,7 @@ iseq_peephole_optimize(rb_iseq_t *iseq, LINK_ELEMENT *list, const int do_tailcal */ int stop_optimization = ISEQ_COVERAGE(iseq) && ISEQ_LINE_COVERAGE(iseq) && + nobj->link.type == ISEQ_ELEMENT_INSN && nobj->insn_info.events; if (!stop_optimization) { INSN *pobj = (INSN *)iobj->link.prev; -- cgit v1.2.3