llvm-project/lldb
Pavel Labath df7c69952b [NativeProcessLinux] Use fast memory reads, if the system supports it
Summary:
Memory reads using the ptrace API need to be executed on a designated thread
and in 4-byte increments. The process_vm_read syscall has no such requirements
and it is about 50 times faster. This patch makes lldb-server use the faster
API if the target kernel supports it. Kernel support for this feature is
determined at runtime. Using process_vm_writev in the same manner is more
complicated since this syscall (unlike ptrace) respects page protection settings
and so it cannot be used to set a breakpoint, since code pages are typically
read-only. However, memory writes are not currently a performance bottleneck as
they happen much more rarely.

Test Plan: all tests continue to pass

Reviewers: ovyalov, vharron

Subscribers: tberghammer, lldb-commits

Differential Revision: http://reviews.llvm.org/D10488

llvm-svn: 239924
2015-06-17 18:38:49 +00:00
..
cmake [lldb] Enable building with Cmake/BUILD_SHARED_LIBS 2015-06-04 03:12:37 +00:00
docs Doc talks about Platform_RunCommand while we actually use Platform_shell. 2015-05-11 19:48:37 +00:00
examples Fix types.py to actually be able to run check_padding_command() without erroring out. 2015-06-01 17:28:45 +00:00
include [NativeProcessLinux] Use fast memory reads, if the system supports it 2015-06-17 18:38:49 +00:00
lib Assembly profiler for mips32 2015-05-15 06:53:30 +00:00
lit Create a check-lldb-unit target to run unit tests. 2015-03-13 20:55:07 +00:00
lldb.xcodeproj Add a ThreadSafe adapter over llvm::DenseSet 2015-06-16 23:20:12 +00:00
lldb.xcworkspace Working on getting the OSX build green 2015-05-12 02:20:27 +00:00
resources Bump major vers # in xcode project file from 330 to 340. 2015-03-06 00:45:01 +00:00
scripts Add a .parent property to SBFrame's Python interface which allows easy access to the caller frame of the current frame 2015-06-16 21:07:52 +00:00
source [NativeProcessLinux] Use fast memory reads, if the system supports it 2015-06-17 18:38:49 +00:00
test Revert r239873 - I actually want to think some more about this 2015-06-17 02:11:48 +00:00
tools Fix comments (MI). 2015-06-16 22:53:27 +00:00
unittests Including <thread> with MSVC is buggy, use a workaround here. 2015-05-28 19:56:43 +00:00
utils LUI: Fix some issues causing crashes in the source view 2013-10-23 01:18:21 +00:00
www www - updated build server URLs 2015-05-27 04:55:31 +00:00
.arcconfig Update .arcconfig to point to reviews.llvm.org 2014-05-20 21:24:59 +00:00
.clang-format Update build instructions / coding conventions. 2015-03-10 23:22:25 +00:00
.gitignore Fix .gitignore to ignore symlinks. 2015-03-31 00:03:00 +00:00
CMakeLists.txt Use the debugginess of the python interpreter when symlinking _lldb.pyd. 2015-04-22 22:53:18 +00:00
CODE_OWNERS.txt Convert CRLF to LF in CODE_OWNERS.txt 2015-03-23 14:00:54 +00:00
INSTALL.txt Revert "git-svn test commit" 2014-11-18 22:45:59 +00:00
LICENSE.TXT
Makefile Remove the -Wno-unused-function option. We are clean 2014-09-09 07:49:15 +00:00