[Dexter] Optimize breakpoint deletion in Visual StudioBreakpoint deletion in visual studio is currently implemented byiterating over the breakpoints we want to delete, for each of which weiterate
[Dexter] Optimize breakpoint deletion in Visual StudioBreakpoint deletion in visual studio is currently implemented byiterating over the breakpoints we want to delete, for each of which weiterate over the complete set of breakpoints in the debugger instanceuntil we find the one we wish to delete. Ideally we would resolve thisby directly deleting each breakpoint by some ID rather than searchingthrough the full breakpoint list for them, but in the absence of such afeature in VS we can instead invert the loop to improve performance.This patch changes breakpoint deletion to iterate over the complete listof breakpoints, deleting breakpoints that match the breakpoints weexpect to delete by checking set membership. This represents aworst-case improvement from O(nm) to O(n), for 'm' breakpoints beingdeleted out of 'n' total. In practise this is almost exactly 'm'-timesfaster, as when we delete multiple breakpoints they are typicallyadjacent in the full breakpoint list.Differential Revision: https://reviews.llvm.org/D120658
show more ...
[Dexter] Allow DexUnreachable in supplementary .dex filesDexUnreachable is a useful tool for specifying that lines shouldn't bestepped on. Right now they have to be placed in the source file; lets
[Dexter] Allow DexUnreachable in supplementary .dex filesDexUnreachable is a useful tool for specifying that lines shouldn't bestepped on. Right now they have to be placed in the source file; lets allowthem to be placed instead in a detached .dex file, by adding on_line andline-range keyword arguments to the command.Differential Revision: https://reviews.llvm.org/D115449
[Dexter] Allow tests to specify command line optionsThis patch adds a "DexCommandLine" command, allowing dexter tests tospecify what command line options the test should be started with. I'vealso
[Dexter] Allow tests to specify command line optionsThis patch adds a "DexCommandLine" command, allowing dexter tests tospecify what command line options the test should be started with. I'vealso plumbed it through into the debuggers.This eases the matter of pointing Dexter at larger tests, or controllingdifferent paths through a single binary from a Dexter test.Differential Revision: https://reviews.llvm.org/D115330
[dexter] Fix source-root-dir unittests on WindowsThese tests were spuriously failing on Windows due to path separators gettingflipped from `/` to `\\` in various parts of dexter:test_add_breakp
[dexter] Fix source-root-dir unittests on WindowsThese tests were spuriously failing on Windows due to path separators gettingflipped from `/` to `\\` in various parts of dexter:test_add_breakpoint_with_source_root_dirtest_get_step_infotest_get_step_info_no_source_root_dirTested on Windows and Linux.Patch written by @TWeaver.Reviewed By: jmorseDifferential Revision: https://reviews.llvm.org/D115338
[Dexter] Add DexFinishTest command to conditionally early-exit a test programThis patch adds a command, DexFinishTest, that allows a Dexter test tobe conditionally finished at a given breakpoint.
[Dexter] Add DexFinishTest command to conditionally early-exit a test programThis patch adds a command, DexFinishTest, that allows a Dexter test tobe conditionally finished at a given breakpoint. This command has thesame set of arguments as DexLimitSteps, except that it does not allow aline range (from_line, to_line), only a single line (on_line).Reviewed By: OrlandoDifferential Revision: https://reviews.llvm.org/D111988
[Dexter] Add option to pass a Visual Studio solution instead of a binaryThis patch allows a visual studio solution file to be passed directlyinto Dexter, instead of using a pre-built binary and a
[Dexter] Add option to pass a Visual Studio solution instead of a binaryThis patch allows a visual studio solution file to be passed directlyinto Dexter, instead of using a pre-built binary and a small internalsolution file with template arguments. This is primarily to allowlaunching an application that has specific launch configurationrequirements, without needing all the details of this configuration tobe built directly into Dexter or adding a config file that simplyduplicates existing settings in the VS solution.Reviewed By: OrlandoDifferential Revision: https://reviews.llvm.org/D110167
Reapply "[Dexter] Improve performance by evaluating expressions only when needed"Fixes issue found on greendragon buildbot, in which an incorrectlyindented statement following an if block led to e
Reapply "[Dexter] Improve performance by evaluating expressions only when needed"Fixes issue found on greendragon buildbot, in which an incorrectlyindented statement following an if block led to entire frames beingdropped instead of simply filtering unneeded watches.This reverts commit 1f44fa3ac17ceacc753019092bc50436c77ddcfa.
Revert "[Dexter] Improve performance by evaluating expressions only when needed"Reverted due to build failure on greendragon lldb build.This reverts commit 9bbc0c1ffb47f9cf4c9d8e9a0e8100002fe5aaf
Revert "[Dexter] Improve performance by evaluating expressions only when needed"Reverted due to build failure on greendragon lldb build.This reverts commit 9bbc0c1ffb47f9cf4c9d8e9a0e8100002fe5aafb.
[Dexter] Improve performance by evaluating expressions only when neededCurrently, Dexter's model for fetching watch values is to build a list ofexpressions to watch before running the debugger, th
[Dexter] Improve performance by evaluating expressions only when neededCurrently, Dexter's model for fetching watch values is to build a list ofexpressions to watch before running the debugger, then evaluating all of them ateach breakpoint, then finally looking up the values of these expressions at eachline they were expected on. When using dexter on a large project while watchingmany different expressions, this is very slow, as Dexter will make a massivenumber of calls made to the debugger's API, the vast majority of which are notbeing used for anything. This patch fixes this issue by having Dexter onlyevaluate expressions at a breakpoint when it will be used by a Dexter command.Reviewed By: jmorseDifferential Revision: https://reviews.llvm.org/D107070
[RFC][debuginfo-test] Rename debug-info lit tests for general purposesDiscussion thread:https://lists.llvm.org/pipermail/llvm-dev/2021-January/148048.htmlMove debuginfo-test into a subdirectory
[RFC][debuginfo-test] Rename debug-info lit tests for general purposesDiscussion thread:https://lists.llvm.org/pipermail/llvm-dev/2021-January/148048.htmlMove debuginfo-test into a subdirectory of a new top-level directory,called cross-project-tests. The new name replaces "debuginfo-test" as anLLVM project enabled via LLVM_ENABLE_PROJECTS.Differential Revision: https://reviews.llvm.org/D95339Reviewed by: aprantl