llvm-project/lldb/source/Plugins
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
..
ABI [ARC] Add SystemV ABI 2019-10-17 15:18:03 +00:00
Architecture [Logging] Replace Log::Printf with LLDB_LOG macro (NFC) 2019-07-24 17:56:10 +00:00
Disassembler [Mips] Use appropriate private label prefix based on Mips ABI 2019-10-23 12:24:35 +02:00
DynamicLoader [lldb][NFC] Migrate to raw_ostream in Module::GetDescription 2019-12-04 09:35:50 +01:00
ExpressionParser [lldb][NFC] Extract searching for function SymbolContexts out of ClangExpressionDeclMap::LookupFunction 2019-12-03 12:33:24 +01:00
Instruction [LLDB] [ARM] Use r11 as frame pointer on Windows on ARM 2019-11-29 16:06:17 +02:00
InstrumentationRuntime [LLDB] Fix more -Wdocumentation issues (NFC) 2019-11-14 14:31:44 -08:00
JITLoader Modernize the rest of the Find.* API (NFC) 2019-10-17 19:56:40 +00:00
Language [lldb/cpluspluslanguage] Add constructor substitutor 2019-12-05 12:44:51 +01:00
LanguageRuntime [lldb][NFC] Migrate FileSpec::Dump to raw_ostream 2019-12-06 09:40:42 +01:00
MemoryHistory [Process] Remove unused field from HistoryThread 2019-06-19 21:33:44 +00:00
ObjectContainer [ObjectContainerBSDArchive] Simplify a few things (NFC) 2019-07-12 20:08:41 +00:00
ObjectFile [lldb] Remove FileSpec(FileSpec*) constructor 2019-12-04 10:49:25 +01:00
OperatingSystem Fix -Wunused-result warnings in LLDB 2019-11-15 16:38:00 -08:00
Platform [lldb] Remove FileSpec(FileSpec*) constructor 2019-12-04 10:49:25 +01:00
Process Cleanup and speedup NativeRegisterContextLinux_arm64 2019-12-06 22:18:57 +05:00
ScriptInterpreter [LLDB] Disable MSVC warning C4190: 'LLDBSwigPythonBreakpointCallbackFunction' has C-linkage specified, but returns UDT 'llvm::Expected<bool>' which is incompatible with C 2019-12-03 09:53:26 -05:00
StructuredData [lldb][NFC] Remove dead code that handles situations where LLDB has no dummy target 2019-08-26 18:12:44 +00:00
SymbolFile [lldb/DWARF] Fix DW_AT_addr_base & DW_AT_low_pc interaction 2019-12-06 10:33:13 +01:00
SymbolVendor [lldb][NFC] Migrate FileSpec::Dump to raw_ostream 2019-12-06 09:40:42 +01:00
SystemRuntime Modernize the rest of the Find.* API (NFC) 2019-10-17 19:56:40 +00:00
UnwindAssembly Fix the unwinding plan augmentation from x86 assembly 2019-10-10 13:23:09 +00:00
CMakeLists.txt Move StopInfoOverride callback to the new architecture plugin 2017-10-25 21:05:31 +00:00