[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 11/19] target/i386: optimize cross-page direc
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v5 11/19] target/i386: optimize cross-page direct jumps in softmmu |
Date: |
Fri, 28 Apr 2017 17:56:57 +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
> gen_jr 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>
> ---
> target/i386/translate.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target/i386/translate.c b/target/i386/translate.c
> index f0e48dc..ea113fe 100644
> --- a/target/i386/translate.c
> +++ b/target/i386/translate.c
> @@ -2154,9 +2154,9 @@ static inline void gen_goto_tb(DisasContext *s, int
> tb_num, target_ulong eip)
> gen_jmp_im(eip);
> tcg_gen_exit_tb((uintptr_t)s->tb + tb_num);
> } else {
> - /* jump to another page: currently not optimized */
> + /* jump to another page */
> gen_jmp_im(eip);
> - gen_eob(s);
> + gen_jr(s, cpu_tmp0);
I had to look up what was going on with cpu_tmp0 there. Is there a
particular reason i386 has these global temps with implied setting
rules? It does seem somewhat hacky.
Given cmp_tmp0 seems to be a heavily used across i386 I guess it keeps
to the style of the translator :-/
> }
> }
--
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
- Re: [Qemu-devel] [PATCH v5 11/19] target/i386: optimize cross-page direct jumps in softmmu,
Alex Bennée <=
[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
[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