[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 08/19] target/arm: optimize cross-page direct
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v5 08/19] target/arm: optimize cross-page direct jumps in softmmu |
Date: |
Fri, 28 Apr 2017 12:30:11 +0100 |
User-agent: |
mu4e 0.9.19; emacs 25.2.17 |
Richard Henderson <address@hidden> writes:
> From: "Emilio G. Cota" <address@hidden>
>
> Instead of unconditionally exiting to the exec loop, use the
> lookup_and_goto_ptr helper to jump to the target if it is valid.
>
> Perf impact: see next commit's log.
>
> Reviewed-by: Richard Henderson <address@hidden>
> Signed-off-by: Emilio G. Cota <address@hidden>
> Message-Id: <address@hidden>
> Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
> ---
> target/arm/translate.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/target/arm/translate.c b/target/arm/translate.c
> index 0b5a0bc..facb52f 100644
> --- a/target/arm/translate.c
> +++ b/target/arm/translate.c
> @@ -4153,8 +4153,12 @@ static inline void gen_goto_tb(DisasContext *s, int n,
> target_ulong dest)
> gen_set_pc_im(s, dest);
> tcg_gen_exit_tb((uintptr_t)s->tb + n);
> } else {
> + TCGv addr = tcg_temp_new();
> +
> gen_set_pc_im(s, dest);
> - tcg_gen_exit_tb(0);
> + tcg_gen_extu_i32_tl(addr, cpu_R[15]);
> + tcg_gen_lookup_and_goto_ptr(addr);
> + tcg_temp_free(addr);
> }
> }
--
Alex Bennée
- Re: [Qemu-devel] [PATCH v5 03/19] qemu/atomic: Loosen restrictions for 64-bit ILP32 hosts, (continued)
- [Qemu-devel] [PATCH v5 06/19] tcg: introduce goto_ptr opcode, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 10/19] target/i386: introduce gen_jr helper to generate lookup_and_goto_ptr, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 11/19] target/i386: optimize cross-page direct jumps in softmmu, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 09/19] target/arm: optimize indirect branches, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 08/19] target/arm: optimize cross-page direct jumps in softmmu, Richard Henderson, 2017/04/27
- Re: [Qemu-devel] [PATCH v5 08/19] target/arm: optimize cross-page direct jumps in softmmu,
Alex Bennée <=
- [Qemu-devel] [PATCH v5 04/19] exec-all: export tb_htable_lookup, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 07/19] tcg: export tcg_gen_lookup_and_goto_ptr, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 12/19] target/i386: optimize indirect branches, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 16/19] tcg/ppc: Implement goto_ptr, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 15/19] tcg/i386: implement goto_ptr, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 18/19] tcg/sparc: Implement goto_ptr, Richard Henderson, 2017/04/27
- [Qemu-devel] [PATCH v5 13/19] tb-hash: improve tb_jmp_cache hash function in user mode, Richard Henderson, 2017/04/27