[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 18/25] target/s390: Use tcg_gen_lookup_and_go
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH v6 18/25] target/s390: Use tcg_gen_lookup_and_goto_ptr |
Date: |
Sat, 6 May 2017 14:14:17 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On 2017-05-02 12:22, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> target/s390x/translate.c | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/target/s390x/translate.c b/target/s390x/translate.c
> index 01c6217..f7c2123 100644
> --- a/target/s390x/translate.c
> +++ b/target/s390x/translate.c
> @@ -608,11 +608,16 @@ static void gen_op_calc_cc(DisasContext *s)
> set_cc_static(s);
> }
>
> -static int use_goto_tb(DisasContext *s, uint64_t dest)
> +static bool use_exit_tb(DisasContext *s)
> {
> - if (unlikely(s->singlestep_enabled) ||
> - (s->tb->cflags & CF_LAST_IO) ||
> - (s->tb->flags & FLAG_MASK_PER)) {
> + return (s->singlestep_enabled ||
> + (s->tb->cflags & CF_LAST_IO) ||
> + (s->tb->flags & FLAG_MASK_PER));
> +}
> +
> +static bool use_goto_tb(DisasContext *s, uint64_t dest)
> +{
> + if (unlikely(use_exit_tb(s))) {
> return false;
> }
> #ifndef CONFIG_USER_ONLY
> @@ -5426,8 +5431,10 @@ void gen_intermediate_code(CPUS390XState *env, struct
> TranslationBlock *tb)
> /* Exit the TB, either by raising a debug exception or by return. */
> if (do_debug) {
> gen_exception(EXCP_DEBUG);
> - } else {
> + } else if (use_exit_tb(&dc)) {
> tcg_gen_exit_tb(0);
> + } else {
> + tcg_gen_lookup_and_goto_ptr(psw_addr);
> }
> break;
> default:
Reviewed-by: Aurelien Jarno <address@hidden>
Tested-by: Aurelien Jarno <address@hidden>
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
address@hidden http://www.aurel32.net
- Re: [Qemu-devel] [PATCH v6 15/25] tcg/s390: Implement goto_ptr, (continued)
- [Qemu-devel] [PATCH v6 13/25] tcg/aarch64: Implement goto_ptr, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 11/25] tb-hash: improve tb_jmp_cache hash function in user mode, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 17/25] tcg/arm: Implement goto_ptr, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 14/25] tcg/sparc: Implement goto_ptr, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 16/25] tcg/arm: Clarify tcg_out_bx for arm4 host, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 19/25] target/hppa: Use tcg_gen_lookup_and_goto_ptr, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 20/25] target/alpha: Use tcg_gen_lookup_and_goto_ptr, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 18/25] target/s390: Use tcg_gen_lookup_and_goto_ptr, Richard Henderson, 2017/05/02
- Re: [Qemu-devel] [PATCH v6 18/25] target/s390: Use tcg_gen_lookup_and_goto_ptr,
Aurelien Jarno <=
- [Qemu-devel] [PATCH v6 21/25] target/aarch64: optimize cross-page direct jumps in softmmu, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 22/25] target/aarch64: optimize indirect branches, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 23/25] tcg/mips: implement goto_ptr, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 24/25] target/mips: optimize cross-page direct jumps in softmmu, Richard Henderson, 2017/05/02
- [Qemu-devel] [PATCH v6 25/25] target/mips: optimize indirect branches, Richard Henderson, 2017/05/02
- Re: [Qemu-devel] [PATCH v6 00/25] tcg cross-tb optimizations, no-reply, 2017/05/02
- Re: [Qemu-devel] [PATCH v6 00/25] tcg cross-tb optimizations, Richard Henderson, 2017/05/02