[all-commits] [llvm/llvm-project] 9bbc0c: [Dexter] Improve performance by evaluating express...
Stephen Tozer via All-commits
all-commits at lists.llvm.org
Tue Sep 14 06:10:59 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9bbc0c1ffb47f9cf4c9d8e9a0e8100002fe5aafb
https://github.com/llvm/llvm-project/commit/9bbc0c1ffb47f9cf4c9d8e9a0e8100002fe5aafb
Author: Stephen Tozer <Stephen.Tozer at Sony.com>
Date: 2021-09-14 (Tue, 14 Sep 2021)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/command/CommandBase.py
M cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectProgramState.py
M cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectWatchBase.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
Log Message:
-----------
[Dexter] Improve performance by evaluating expressions only when needed
Currently, Dexter's model for fetching watch values is to build a list of
expressions to watch before running the debugger, then evaluating all of them at
each breakpoint, then finally looking up the values of these expressions at each
line they were expected on. When using dexter on a large project while watching
many different expressions, this is very slow, as Dexter will make a massive
number of calls made to the debugger's API, the vast majority of which are not
being used for anything. This patch fixes this issue by having Dexter only
evaluate expressions at a breakpoint when it will be used by a Dexter command.
Reviewed By: jmorse
Differential Revision: https://reviews.llvm.org/D107070
More information about the All-commits
mailing list