[PATCH 3/3] Use code cache in aarch64 prologue analyzer

Luis Machado lgustavo@codesourcery.com
Wed Dec 7 18:26:00 GMT 2016


On 12/06/2016 09:03 AM, Yao Qi wrote:
> This patch change aarch prologue analyzer using code cache, in order
> to improve the performance of remote debugging.
>
> gdb.perf/skip-prologue.exp (measured by wall-time) is improved when
> the program is compiled without debug information.
>
> 			Original	Patched		Original	Patched
> 			without dbg	without dbg	with dbg	with dbg
>
> /			11.1635239124	9.99472999573	9.65339517593	9.66648793221
> -fstack-protector-all	11.2560930252	9.338118	9.63896489143	9.59474396706
>
> gdb:
>
> 2016-12-06  Yao Qi  <yao.qi@linaro.org>
>
> 	* aarch64-tdep.c (instruction_reader::read): Call
> 	read_code_unsigned_integer instead of
> 	read_memory_unsigned_integer.
> ---
>  gdb/aarch64-tdep.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
> index 590dcf6..0175630 100644
> --- a/gdb/aarch64-tdep.c
> +++ b/gdb/aarch64-tdep.c
> @@ -213,7 +213,7 @@ class instruction_reader : public abstract_instruction_reader
>   public:
>    ULONGEST read (CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
>    {
> -    return read_memory_unsigned_integer (memaddr, len, byte_order);
> +    return read_code_unsigned_integer (memaddr, len, byte_order);
>    }
>  };
>
>

The series LGTM except for the nit in 1/3. FTR, we have a similar local 
patch for ARM and also PowerPC to get the performance numbers up a bit. 
It helps with remote debugging as well, since we can read from cache 
instead of fetching it over and over again from the target.



More information about the Gdb-patches mailing list