aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2024-09-04 11:30:58 +0200
committerGitHub <noreply@github.com>2024-09-04 11:30:58 +0200
commitcc5c526c80a4cacf7ed5b7fbe50072594ec1aeaf (patch)
treef299a8b6d8b298d7072bbbb3279098ccce0627d4 /flang/lib/Frontend/CompilerInvocation.cpp
parentafb6dafc6b680fb204d40c7fee4b339aa8471010 (diff)
downloadllvm-cc5c526c80a4cacf7ed5b7fbe50072594ec1aeaf.zip
llvm-cc5c526c80a4cacf7ed5b7fbe50072594ec1aeaf.tar.gz
llvm-cc5c526c80a4cacf7ed5b7fbe50072594ec1aeaf.tar.bz2
[lldb] Fix and speedup the `memory find` command (#104193)
This patch fixes an issue where the `memory find` command would effectively stop searching after encountering a memory read error (which could happen due to unreadable memory), without giving any indication that it has done so (it would just print it could not find the pattern). To make matters worse, it would not terminate after encountering this error, but rather proceed to slowly increment the address pointer, which meant that searching a large region could take a very long time (and give the appearance that lldb is actually searching for the thing). The patch fixes this first problem by detecting read errors and skipping over (using GetMemoryRegionInfo) the unreadable parts of memory and resuming the search after them. It also reads the memory in bulk (`max(sizeof(pattern))`), which speeds up the search significantly (up to 6x for live processes, 18x for core files).
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions