aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2017-07-13 13:55:05 -1000
committerRichard Henderson <rth@twiddle.net>2017-07-18 18:42:05 -1000
commit8aa5c65fd3d4612d8ab690bef0980d26f30f381d (patch)
treec4c4270edd98f678a6728ff5f1545be69ac62cfa
parent6a9b110d54b885dbb29872a142cc4d2a402fada8 (diff)
target/alpha: Log temp leaks
Tested-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Richard Henderson <rth@twiddle.net>
-rw-r--r--target/alpha/translate.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index aaaf28fb18..90e6d5285f 100644
--- a/target/alpha/translate.c
+++ b/target/alpha/translate.c
@@ -3013,6 +3013,8 @@ void gen_intermediate_code(CPUAlphaState *env, struct TranslationBlock *tb)
}
gen_tb_start(tb);
+ tcg_clear_temp_count();
+
do {
tcg_gen_insn_start(ctx.pc);
num_insns++;
@@ -3035,6 +3037,10 @@ void gen_intermediate_code(CPUAlphaState *env, struct TranslationBlock *tb)
ret = translate_one(ctxp, insn);
free_context_temps(ctxp);
+ if (tcg_check_temp_count()) {
+ qemu_log("TCG temporary leak before "TARGET_FMT_lx"\n", ctx.pc);
+ }
+
/* If we reach a page boundary, are single stepping,
or exhaust instruction count, stop generation. */
if (ret == NO_EXIT