diff options
author | Richard Henderson | 2021-03-02 04:21:08 +0100 |
---|---|---|
committer | Richard Henderson | 2021-03-06 20:53:57 +0100 |
commit | 6cc9d67c6f682cf04eea2d6e64a252b63a7eccdf (patch) | |
tree | f4a70ec6c66bcb37242891c9b544508b78f5a726 /include/exec | |
parent | include/exec: lightly re-arrange TranslationBlock (diff) | |
download | qemu-6cc9d67c6f682cf04eea2d6e64a252b63a7eccdf.tar.gz qemu-6cc9d67c6f682cf04eea2d6e64a252b63a7eccdf.tar.xz qemu-6cc9d67c6f682cf04eea2d6e64a252b63a7eccdf.zip |
accel/tcg: Precompute curr_cflags into cpu->tcg_cflags
The primary motivation is to remove a dozen insns along
the fast-path in tb_lookup. As a byproduct, this allows
us to completely remove parallel_cpus.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/exec')
-rw-r--r-- | include/exec/exec-all.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index a262dd5804..6b036cae8f 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -513,8 +513,6 @@ struct TranslationBlock { uintptr_t jmp_dest[2]; }; -extern bool parallel_cpus; - /* Hide the qatomic_read to make code a little easier on the eyes */ static inline uint32_t tb_cflags(const TranslationBlock *tb) { @@ -524,10 +522,7 @@ static inline uint32_t tb_cflags(const TranslationBlock *tb) /* current cflags for hashing/comparison */ static inline uint32_t curr_cflags(CPUState *cpu) { - uint32_t cflags = deposit32(0, CF_CLUSTER_SHIFT, 8, cpu->cluster_index); - cflags |= parallel_cpus ? CF_PARALLEL : 0; - cflags |= icount_enabled() ? CF_USE_ICOUNT : 0; - return cflags; + return cpu->tcg_cflags; } /* TranslationBlock invalidate API */ |