llvm-project/lldb
Jason Molenda 20ee21bde6 Add a another packet to the gdb-remote protocol,
jGetLoadedDynamicLibrariesInfos.  This packet is similar to
qXfer:libraries:read except that lldb supplies the number of solibs
that should be reported about, and the start address for the list
of them.  At the initial process launch we'll read the full list
of solibs linked by the process -- at this point we could be using
qXfer:libraries:read -- but on subsequence solib-loaded notifications,
we'll be fetching a smaller number of solibs, often only one or two.

A typical Mac/iOS GUI app may have a couple hundred different 
solibs loaded  - doing all of the loads via memory reads takes 
a couple of megabytes of traffic between lldb and debugserver.
Having debugserver summarize the load addresses of all the solibs
and sending it in JSON requires a couple of hundred kilobytes
of traffic.  It's a significant performance improvement when 
communicating over a slower channel.

This patch leaves all of the logic for loading the libraries
in DynamicLoaderMacOSXDYLD -- it only call over ot ProcesGDBRemote
to get the JSON result.

If the jGetLoadedDynamicLibrariesInfos packet is not implemented,
the normal technique of using memory read packets to get all of
the details from the target will be used.

<rdar://problem/21007465>

llvm-svn: 241964
2015-07-10 23:15:22 +00:00
..
cmake Move WindowsDYLD to the Plugins/DynamicLoader directory. 2015-07-08 18:07:13 +00:00
docs Add a another packet to the gdb-remote protocol, 2015-07-10 23:15:22 +00:00
examples Improve the packet dumper to be able to read the target.xml so it can dump register values when disassembling the packet log. 2015-07-02 22:22:45 +00:00
include Add a another packet to the gdb-remote protocol, 2015-07-10 23:15:22 +00:00
lib Unbreak Makefile build 2015-07-09 17:09:09 +00:00
lit Create a check-lldb-unit target to run unit tests. 2015-03-13 20:55:07 +00:00
lldb.xcodeproj Unbreak the MacOSX build. 2015-07-08 22:21:22 +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 version of SBTarget::EvaluateExpression that doesn't require 2015-07-07 22:12:17 +00:00
source Add a another packet to the gdb-remote protocol, 2015-07-10 23:15:22 +00:00
test Fixed a problem where variables in modules were not appropriately discovered by 2015-07-10 17:34:23 +00:00
tools Add a another packet to the gdb-remote protocol, 2015-07-10 23:15:22 +00:00
unittests Fix StringExtractor.h issues. 2015-07-07 15:19:03 +00:00
utils LUI: Fix some issues causing crashes in the source view 2013-10-23 01:18:21 +00:00
www Add support for displaying the language in the frame-format string. 2015-06-23 18:35: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 the patch to Test Commit Access 2015-07-06 11:26:51 +00:00
LICENSE.TXT
Makefile Remove the -Wno-unused-function option. We are clean 2014-09-09 07:49:15 +00:00