From 86de3e411aa65b273d1123f7260c016f31fc08ec Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 16 Feb 2018 01:15:35 +0000 Subject: compile.c: keep debug info * compile.c (iseq_peephole_optimize): keep freezestring insn with debug info. [Bug #14475] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- compile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compile.c') diff --git a/compile.c b/compile.c index 7d065b25d3..ba380ab408 100644 --- a/compile.c +++ b/compile.c @@ -2846,11 +2846,12 @@ iseq_peephole_optimize(rb_iseq_t *iseq, LINK_ELEMENT *list, const int do_tailcal } if (IS_INSN_ID(iobj, freezestring) && + NIL_P(OPERAND_AT(iobj, 0)) && IS_NEXT_INSN_ID(&iobj->link, send)) { INSN *niobj = (INSN *)iobj->link.next; struct rb_call_info *ci = (struct rb_call_info *)OPERAND_AT(niobj, 0); /* - * freezestring debug_info + * freezestring nil # no debug_info * send <:+@, 0, ARG_SIMPLE> # :-@, too * => * send <:+@, 0, ARG_SIMPLE> # :-@, too -- cgit v1.2.3