From patchwork Sat Feb 17 23:59:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 874835 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zkRrJ0JVjz9ryg for ; Sun, 18 Feb 2018 11:01:50 +1100 (AEDT) Received: from localhost ([::1]:51872 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1enCQL-0000pB-Qh for incoming@patchwork.ozlabs.org; Sat, 17 Feb 2018 19:01:45 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48180) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1enCPs-0000nI-Bv for qemu-devel@nongnu.org; Sat, 17 Feb 2018 19:01:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1enCPn-0003qi-Hu for qemu-devel@nongnu.org; Sat, 17 Feb 2018 19:01:16 -0500 Received: from mout.kundenserver.de ([217.72.192.73]:56069) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1enCPn-0003o3-8P for qemu-devel@nongnu.org; Sat, 17 Feb 2018 19:01:11 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.183]) with ESMTPSA (Nemesis) id 0LnShi-1eHk5L1iWs-00hbgn; Sun, 18 Feb 2018 01:01:09 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Sun, 18 Feb 2018 00:59:20 +0100 Message-Id: <20180217235920.2254-1-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 X-Provags-ID: V03:K0:UM/xzZBzBlcHBlUQOHqd+PdjtC+4OoFdz9Yw3ocETnZwx7yTQD7 ewtfiapjuHjoPJXtGhvwd8aX+Hx1PgvDpAE1SmrqOt5T8v3JVPyHkdbvM4XkLPnIirYl3p1 FabAF75XYstqa4waNAYvJ2MpKcu2iO/pZinM2WEMPZ1PuitvvxdFLr5VYqvSiX5pC7vAj/a ceubLwhn3g/OFX/un1j0w== X-UI-Out-Filterresults: notjunk:1; V01:K0:ZZz7MsvWlv0=:E4ULshVsOCn2bBCRGau0+S j1RDUDBb1u7KQTDlg70JbDfX/r7+/QdCJt2TsrkxhAwpXT1kxbyyGQvRLLjPGB7okFQwpdhBG w2bcHcWly/h14AhdYpLaO69x76pTt26HqNq9UWSJlShnAP/865hhHi60OJXPLsLrzJZMFbUK4 +iJjn3Grxtj8zdhzSHXGvmBnEE5NE7HbLD49r6QwEv0Au2FlfZBftcOBZ67123OeCF4EMziE0 mLAw+MhbK8REQRz3RVCnZNsVFz7EAdz04YY7igSYRmPYbpES8t3FM92D9y4I8GnleV2jaz0Zn 6GeWPdvspE0kPtm05t0/R8oAhN2HZVzepF9/y/FGm4uoCoSZD+K4tnHYhxUMMdIsdfrDhz+Yb VMxCPs5TlQ+GKyqqGrp5pqixAsNmUqBl5/c2Qopf3kLEZo6VkmXTnmGYj9eTNFV5xGK/8HiGO L1K1FIXfLHamChUrs9BG6qNr8+tZPW1Pmqg1pu7k8WAphL8M9lJmbWTygrsCgblc6s3ZB4d8x uJGH/45Ve/1aCx/lhIKkWmwjHcmxm6t+N3pxKTHQ+XN2IbyyRx3wvr9wxIsME3OGenEuuEOpZ 7zPIu05DvvbOmhVkDjvTxgWCJ8yOxIeYhH7nYJ6GRfzRIhfsK+X81j2ohvHkMMvs5W7U5GMg2 bD47HUsD1d40BeyVOFw2bQxDGXj0XA2fRpq4jymxjOLtqBn67+QoRhPcvNGGrQPj1yh3rZ1AA A7Kd6isyhAZrqArKWxXGo5PSwxnDAYQ1b3PxFw== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PATCH] target/m68k: TCGv returned by gen_load() must be freed X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Laurent Vivier --- target/m68k/translate.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/target/m68k/translate.c b/target/m68k/translate.c index 70c7583621..cb795ed25b 100644 --- a/target/m68k/translate.c +++ b/target/m68k/translate.c @@ -2869,6 +2869,7 @@ DISAS_INSN(unlk) tcg_gen_mov_i32(reg, tmp); tcg_gen_addi_i32(QREG_SP, src, 4); tcg_temp_free(src); + tcg_temp_free(tmp); } #if defined(CONFIG_SOFTMMU) @@ -3146,6 +3147,9 @@ DISAS_INSN(subx_mem) gen_subx(s, src, dest, opsize); gen_store(s, opsize, addr_dest, QREG_CC_N, IS_USER(s)); + + tcg_temp_free(dest); + tcg_temp_free(src); } DISAS_INSN(mov3q) @@ -3352,6 +3356,9 @@ DISAS_INSN(addx_mem) gen_addx(s, src, dest, opsize); gen_store(s, opsize, addr_dest, QREG_CC_N, IS_USER(s)); + + tcg_temp_free(dest); + tcg_temp_free(src); } static inline void shift_im(DisasContext *s, uint16_t insn, int opsize) @@ -4396,6 +4403,8 @@ DISAS_INSN(chk2) gen_flush_flags(s); gen_helper_chk2(cpu_env, reg, bound1, bound2); tcg_temp_free(reg); + tcg_temp_free(bound1); + tcg_temp_free(bound2); } static void m68k_copy_line(TCGv dst, TCGv src, int index) @@ -4545,6 +4554,7 @@ DISAS_INSN(moves) } else { gen_partset_reg(opsize, reg, tmp); } + tcg_temp_free(tmp); } switch (extract32(insn, 3, 3)) { case 3: /* Indirect postincrement. */ @@ -5535,6 +5545,7 @@ DISAS_INSN(mac) case 4: /* Pre-decrement. */ tcg_gen_mov_i32(AREG(insn, 0), addr); } + tcg_temp_free(loadval); } }