Use code cache in aarch64 prologue analyzer

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-9  Yao Qi  <yao.qi@linaro.org>

	* aarch64-tdep.c (instruction_reader::read): Call
	read_code_unsigned_integer instead of
	read_memory_unsigned_integer.
This commit is contained in:
Yao Qi 2016-12-09 09:51:20 +00:00
parent 198cd59d28
commit fc2f703edb
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2016-12-09 Yao Qi <yao.qi@linaro.org>
* aarch64-tdep.c (instruction_reader::read): Call
read_code_unsigned_integer instead of
read_memory_unsigned_integer.
2016-12-09 Yao Qi <yao.qi@linaro.org>
* arm-tdep.c (skip_prologue_function): Call

View File

@ -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);
}
};