Re: [Qemu-devel] [PATCH v3 06/10] target/arm: optimize indirect branches

2017-04-27 Thread Aurelien Jarno
On 2017-04-26 23:20, Emilio G. Cota wrote: > On Wed, Apr 26, 2017 at 09:54:07 +0200, Richard Henderson wrote: > > On 04/26/2017 08:23 AM, Emilio G. Cota wrote: > > >+static bool gen_jr;... > > > case DISAS_JUMP: > > >+if (gen_jr) { > > > > Why the variable? Why not just try th

Re: [Qemu-devel] [PATCH v3 06/10] target/arm: optimize indirect branches

2017-04-26 Thread Emilio G. Cota
On Wed, Apr 26, 2017 at 09:54:07 +0200, Richard Henderson wrote: > On 04/26/2017 08:23 AM, Emilio G. Cota wrote: > >+static bool gen_jr;... > > case DISAS_JUMP: > >+if (gen_jr) { > > Why the variable? Why not just try the goto_ptr for any DISAS_JUMP? We have code that assumes

Re: [Qemu-devel] [PATCH v3 06/10] target/arm: optimize indirect branches

2017-04-26 Thread Richard Henderson
On 04/26/2017 08:23 AM, Emilio G. Cota wrote: +static bool gen_jr;... case DISAS_JUMP: +if (gen_jr) { Why the variable? Why not just try the goto_ptr for any DISAS_JUMP? r~

[Qemu-devel] [PATCH v3 06/10] target/arm: optimize indirect branches

2017-04-25 Thread Emilio G. Cota
Speed up indirect branches by jumping to the target if it is valid. Softmmu measurements (see later commit for user-mode results): Note: baseline (i.e. speedup == 1x) is QEMU v2.9.0. - Impact on Boot time | setup | ARM debian jessie boot+shutdown time | stddev | |+-