From bf6e2eb7e7ca144dc8a71d87d36edb0d852519a2 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 23 Aug 2018 07:45:39 +0000 Subject: [PATCH] compile.c: drop unused array * compile.c (iseq_peephole_optimize): drop unused dynamic array literal, without concatenation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- compile.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compile.c b/compile.c index d34376c572..0e7153f6e7 100644 --- a/compile.c +++ b/compile.c @@ -2942,6 +2942,11 @@ iseq_peephole_optimize(rb_iseq_t *iseq, LINK_ELEMENT *list, const int do_tailcal else if (previ == BIN(newarray) && iseq_pop_newarray(iseq, (INSN*)prev)) { ELEM_REMOVE(&iobj->link); } + else if (previ == BIN(concatarray)) { + INSN *piobj = (INSN *)prev; + INSERT_BEFORE_INSN1(piobj, piobj->insn_info.line_no, splatarray, Qfalse); + INSN_OF(piobj) = BIN(pop); + } else if (previ == BIN(concatstrings)) { if (OPERAND_AT(prev, 0) == INT2FIX(1)) { ELEM_REMOVE(prev);