[PATCH] D107070: [Dexter] Improve Dexter's performance by evaluating expressions only when needed

Stephen Tozer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 29 06:42:11 PDT 2021


StephenTozer created this revision.
StephenTozer added reviewers: TWeaver, jmorse, Orlando.
StephenTozer added projects: debug-info, LLVM.
StephenTozer requested review of this revision.
Herald added a subscriber: llvm-commits.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D107070

Files:
  cross-project-tests/debuginfo-tests/dexter/dex/command/CommandBase.py
  cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectProgramState.py
  cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectWatchBase.py
  cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py
  cross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
  cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
  cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107070.362752.patch
Type: text/x-patch
Size: 11110 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210729/3bfe5e26/attachment.bin>


More information about the llvm-commits mailing list