From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:36139) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TlPsQ-00088S-7o for qemu-devel@nongnu.org; Wed, 19 Dec 2012 15:04:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TlPsL-0004zr-8e for qemu-devel@nongnu.org; Wed, 19 Dec 2012 15:04:26 -0500 From: Max Filippov Date: Thu, 20 Dec 2012 00:04:09 +0400 Message-Id: <1355947449-22308-1-git-send-email-jcmvbkbc@gmail.com> Subject: [Qemu-devel] [PATCH v2] target-xtensa: fix search_pc for the last TB opcode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Blue Swirl , Max Filippov , qemu-stable@nongnu.org Zero out tcg_ctx.gen_opc_instr_start for instructions representing the last guest opcode in the TB. Cc: qemu-stable@nongnu.org Signed-off-by: Max Filippov --- Changes v1 -> v2: - replace while loop with memset target-xtensa/translate.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/target-xtensa/translate.c b/target-xtensa/translate.c index 5d8762c..2931d00 100644 --- a/target-xtensa/translate.c +++ b/target-xtensa/translate.c @@ -3005,7 +3005,11 @@ static void gen_intermediate_code_internal( gen_icount_end(tb, insn_count); *tcg_ctx.gen_opc_ptr = INDEX_op_end; - if (!search_pc) { + if (search_pc) { + j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf; + memset(tcg_ctx.gen_opc_instr_start + lj + 1, 0, + (j - lj) * sizeof(tcg_ctx.gen_opc_instr_start[0])); + } else { tb->size = dc.pc - pc_start; tb->icount = insn_count; } -- 1.7.7.6