[all-commits] [llvm/llvm-project] 3f5fd4: [lldb][AArch64] Move register info reconfigure int...
David Spickett via All-commits
all-commits at lists.llvm.org
Mon Nov 6 03:30:32 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3f5fd4b3c1d670649b59f3631287b6f54c6b85ee
https://github.com/llvm/llvm-project/commit/3f5fd4b3c1d670649b59f3631287b6f54c6b85ee
Author: David Spickett <david.spickett at linaro.org>
Date: 2023-11-06 (Mon, 06 Nov 2023)
Changed paths:
M lldb/include/lldb/Core/Architecture.h
M lldb/include/lldb/Target/DynamicRegisterInfo.h
M lldb/include/lldb/Target/RegisterContext.h
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb][AArch64] Move register info reconfigure into architecture plugin (#70950)
This removes AArch64 specific code from the GDB* classes.
To do this I've added 2 new methods to Architecture:
* RegisterWriteCausesReconfigure to check if what you are about to do
will trash the register info.
* ReconfigureRegisterInfo to do the reconfiguring. This tells you if
anything changed so that we only invalidate registers when needed.
So that ProcessGDBRemote can call ReconfigureRegisterInfo in
SetThreadStopInfo,
I've added forwarding calls to GDBRemoteRegisterContext and the base
class
RegisterContext.
(which removes a slightly sketchy static cast as well)
RegisterContext defaults to doing nothing for both the methods
so anything other than GDBRemoteRegisterContext will do nothing.
More information about the All-commits
mailing list