llvm-project/lldb
Muhammad Omair Javaid b6f9d7b8fb Cleanup and speedup NativeRegisterContextLinux_arm64
Summary:
This patch simplifies register accesses in NativeRegisterContextLinux_arm64
and also adds some bare minimum caching to avoid multiple calls to ptrace
during a stop.

Linux ptrace returns data in the form of structures containing GPR/FPR data.
This means that one single call is enough to read all GPRs or FPRs. We do
that once per stop and keep reading from or writing to the buffer that we
have in NativeRegisterContextLinux_arm64 class. Before a resume or detach we
write all buffers back.

This is tested on aarch64 thunder x1 with Ubuntu 18.04. Also tested
regressions on x86_64.

Reviewers: labath, clayborg

Reviewed By: labath

Subscribers: kristof.beyls, lldb-commits

Differential Revision: https://reviews.llvm.org/D69371
2019-12-06 22:18:57 +05:00
..
cmake Revert "[CMake] Re-enable -Wno-gnu-anonymous-struct & -Wno-nested-anon-types." 2019-11-18 17:00:35 -08:00
docs Add parray example for lldb, vrs. *ptr@count gdb cmd. 2019-12-04 15:44:15 -08:00
examples [Examples] Move structured-data unpacking out of the loop. (NFC) 2019-11-22 15:43:39 -08:00
include/lldb [lldb][NFC] Move [SU]Int64ValueIsValidForByteSize to RegisterValue 2019-12-06 11:16:39 +01:00
packages/Python/lldbsuite [lldb][test] Handle .categories lookup for inline tests. 2019-12-06 08:36:23 -08:00
resources [CMake] Revised LLDB.framework builds 2019-01-04 12:46:50 +00:00
scripts [LLDB][Python] remove ArgInfo::count 2019-11-04 12:48:49 -08:00
source Cleanup and speedup NativeRegisterContextLinux_arm64 2019-12-06 22:18:57 +05:00
test [lldb/DWARF] Fix DW_AT_addr_base & DW_AT_low_pc interaction 2019-12-06 10:33:13 +01:00
third_party/Python/module Increase timeout in pexpect to lower chances of tests failing under ASAN. 2019-10-10 16:16:49 +00:00
tools Upstream debugserver arm64e support. 2019-12-04 15:20:56 -08:00
unittests [LLDB] Replacing use of ul suffix in GetMaxU64Bitfield since it not guarenteed to be 64 bit 2019-12-05 10:03:53 -08:00
utils [LLDB] Fix inline variable only used in assertion. (NFC) 2019-10-25 15:47:17 -07:00
.arcconfig
.clang-format
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt [lldb/CMake] Add in_call_stack to the utilities package 2019-12-02 13:03:24 -08:00
CODE_OWNERS.txt [lldb][NFC] Cleanup mentions and code related to lldb-mi 2019-07-19 15:55:23 +00:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
use_lldb_suite_root.py