summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEmilio G. Cota2017-07-04 19:54:21 +0200
committerRichard Henderson2017-10-24 22:53:42 +0200
commit26689780f838f6be13c3878b973ad4a83c0e8071 (patch)
tree8d0d3c5af9b17a71a884f5362fc2bb4baac1ec34 /include
parenttcg: define tcg_init_ctx and make tcg_ctx a pointer (diff)
downloadqemu-26689780f838f6be13c3878b973ad4a83c0e8071.tar.gz
qemu-26689780f838f6be13c3878b973ad4a83c0e8071.tar.xz
qemu-26689780f838f6be13c3878b973ad4a83c0e8071.zip
gen-icount: fold exitreq_label into TCGContext
Groundwork for supporting multiple TCG contexts. Reviewed-by: Richard Henderson <rth@twiddle.net> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/exec/gen-icount.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/include/exec/gen-icount.h b/include/exec/gen-icount.h
index c58b0b2585..fe80176462 100644
--- a/include/exec/gen-icount.h
+++ b/include/exec/gen-icount.h
@@ -6,13 +6,12 @@
/* Helpers for instruction counting code generation. */
static int icount_start_insn_idx;
-static TCGLabel *exitreq_label;
static inline void gen_tb_start(TranslationBlock *tb)
{
TCGv_i32 count, imm;
- exitreq_label = gen_new_label();
+ tcg_ctx->exitreq_label = gen_new_label();
if (tb_cflags(tb) & CF_USE_ICOUNT) {
count = tcg_temp_local_new_i32();
} else {
@@ -34,7 +33,7 @@ static inline void gen_tb_start(TranslationBlock *tb)
tcg_temp_free_i32(imm);
}
- tcg_gen_brcondi_i32(TCG_COND_LT, count, 0, exitreq_label);
+ tcg_gen_brcondi_i32(TCG_COND_LT, count, 0, tcg_ctx->exitreq_label);
if (tb_cflags(tb) & CF_USE_ICOUNT) {
tcg_gen_st16_i32(count, tcg_ctx->tcg_env,
@@ -52,7 +51,7 @@ static inline void gen_tb_end(TranslationBlock *tb, int num_insns)
tcg_set_insn_param(icount_start_insn_idx, 1, num_insns);
}
- gen_set_label(exitreq_label);
+ gen_set_label(tcg_ctx->exitreq_label);
tcg_gen_exit_tb((uintptr_t)tb + TB_EXIT_REQUESTED);
/* Terminate the linked list. */