| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
* Use PTRACE_GETVFPREGS/PTRACE_SETVFPREGS to access the floating point
registers instead of the old PTRACE_GETFPREGS/PTRACE_SETFPREGS. The
new call is available since armv5.
* Work around a kernel issue in PTRACE_POKEUSER with reading out the full
register set, modifying the neccessary value and then writing it back.
llvm-svn: 251111
|
| |
|
|
| |
llvm-svn: 251109
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Re-commit the change after fixing a lot of race condition in LLDB
exposed by this change
Loading the debug info from a large application is the slowest task
LLDB do. This CL makes most of the dwarf parsing code multi-threaded.
As a result the speed of "attach; backtrace; exit;" when the inferior
is an LLDB with full debug info increased by a factor of 2.
Differential revision: http://reviews.llvm.org/D13662
llvm-svn: 251106
|
| |
|
|
|
|
|
|
|
|
|
| |
The Timer class already had some support for multi-threaded access
but it still contained several race conditions. This CL fixes them
in preparation of adding multi-threaded dwarf parsing (and other
multi-threaded parts later).
Differential revision: http://reviews.llvm.org/D13940
llvm-svn: 251105
|
| |
|
|
| |
llvm-svn: 251088
|
| |
|
|
|
|
|
| |
name of the xpc service.
<rdar://problem/23223624>
llvm-svn: 251086
|
| |
|
|
| |
llvm-svn: 251084
|
| |
|
|
| |
llvm-svn: 251083
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch enables type summary for 'char' type. Given:
char c = 'h';
Before this patch, c evaluates as:
(char) $0 = 'h'
After this patch, we get:
(char) $0 = 104 'h'
This change allows the formatting of character types in MI to be removed
and replaced with that in lldb, and can be useful when evaluating
non-printable characters.
Patch from evgeny.leviant@gmail.com
Reviewed by: granata.enrico
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D13657
llvm-svn: 251080
|
| |
|
|
|
|
|
|
| |
and OperatingSystem; other minor fixes.
Second attempt which should work for MSVC.
llvm-svn: 251066
|
| |
|
|
| |
llvm-svn: 251044
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D13970
llvm-svn: 251034
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13968
llvm-svn: 251031
|
| |
|
|
|
|
| |
Differential revision: http://reviews.llvm.org/D13942
llvm-svn: 251007
|
| |
|
|
|
|
| |
Differential revision: http://reviews.llvm.org/D13941
llvm-svn: 251006
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This short-circuits the GetObjCVersion function to avoid iterating through target modules on
non-apple targets. This function is called on every Process::IsDynamicValue call, so this
overhead is not negligible.
Reviewers: clayborg, jingham
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D13948
llvm-svn: 251004
|
| |
|
|
|
|
|
|
|
| |
Previously we could not hook the RS runtime on mips64 architectures.
Patch implements ABI specific code for inspecting function arguments.
Author: Dean De Leo, dean@codeplay.com
llvm-svn: 251003
|
| |
|
|
|
|
|
|
|
|
|
| |
make it easier to run hand-built lldb roots and retain those
entitlements. This is currently only used by Xcode; command
line lldb doesn't expose the SBLaunchInfo::SetUserID()
launch option.
<rdar://problem/23154486>
llvm-svn: 250981
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libraries" altogether. On Mac/iOS, these are libraries which have
a UUID and nlist records but no text or data. If one of these
gets into the global module list, every time we try to search
for a given filename/arch/UUID, we'll get this stub library back.
We need to prevent them from getting added to the module list
altogether.
I thought about doing this down in ObjectFileMachO -- just rejecting
the file as a valid binary file altogether -- but Greg didn't want
to take that hard line approach at this point, he wanted to keep
the ability for lldb to read one of these if someone wanted to in
the future.
<rdar://problem/23035075>
llvm-svn: 250979
|
| |
|
|
|
|
| |
directories it is searching for files.
llvm-svn: 250978
|
| |
|
|
|
|
|
|
| |
source/Plugins/LanguageRuntime; other minor fixes.
Differential Revision: http://reviews.llvm.org/D13966
llvm-svn: 250966
|
| |
|
|
|
|
| |
See http://reviews.llvm.org/D13964 for details.
llvm-svn: 250965
|
| |
|
|
| |
llvm-svn: 250937
|
| |
|
|
|
|
| |
http://reviews.llvm.org/D13881
llvm-svn: 250933
|
| |
|
|
|
|
|
|
| |
Before, in the absence of any configured REPLs, LLDB would act as if there were
multiple possible REPL options, whereas actually no REPL language is supported.
Now we make a better error.
llvm-svn: 250931
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Along with this, support for an optional argument to the "num_children"
method of a Python synthetic child provider has also been added. These have
been added with the following use case in mind:
Synthetic child providers currently have a method "has_children" and
"num_children". While the former is good enough to know if there are
children, it does not give any insight into how many children there are.
Though the latter serves this purpose, calculating the number for children
of a data structure could be an O(N) operation if the data structure has N
children. The new method added in this change provide a middle ground.
One can call GetNumChildren(K) to know if a child exists at an index K
which can be as large as the callers tolerance can be. If the caller wants
to know about children beyond K, it can make an other call with 2K. If the
synthetic child provider maintains state about it counting till K
previosly, then the next call is only an O(K) operation. Infact, all
calls made progressively with steps of K will be O(K) operations.
Reviewers: vharron, clayborg, granata.enrico
Subscribers: labath, lldb-commits
Differential Revision: http://reviews.llvm.org/D13778
llvm-svn: 250930
|
| |
|
|
|
|
| |
Thanks to Siva Chandra and Oleksiy Vyalov for pouncing on this.
llvm-svn: 250928
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This reverts commit babd6dd74e316b1fcd9d171d7d8c83845d51a487.
Reviewers: spyffe
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D13952
llvm-svn: 250927
|
| |
|
|
|
|
|
|
| |
source/Plugins; other minor fixes.
Differential Revision: http://reviews.llvm.org/D13951
llvm-svn: 250925
|
| |
|
|
|
|
| |
This requires REPLs to enumerate the languages they support.
llvm-svn: 250913
|
| |
|
|
| |
llvm-svn: 250891
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Loop detection code is being called before every element access. Although it tries to cache some
of the data by remembering the loop-free initial segment, every time it needs to increase this
segment, it will start from scratch. For the typical usage pattern, where one accesses the
elements in order, the loop detection will need to be run after every access, resulting in
quadratic behavior. This behavior is noticable even for the default 255 element limit.
In this commit, I rewrite the algorithm to be truly incremental -- it maintains the state of its
loop-detection runners between calls, and reuses them when it needs to check another segment.
This way, each part of the list is scanned only once, resulting in linear behavior.
Also note that I have changed the operator== of ListEntry to do the comparison based on the
value() function (instead of relying on ValueObjectSP equality). In my experiments, I kept
getting different ValueObjectSPs when going through the same element twice.
Reviewers: granata.enrico
Subscribers: lldb-commits, sivachandra
Differential Revision: http://reviews.llvm.org/D13902
llvm-svn: 250890
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch adds command 'language renderscript allocation save' to store the contents of an allocation in a binary file.
And 'language renderscript allocation load' to restore an allocation with the saved data from a binary file.
Binary file format contains a header FileHeader with meta information preceding the raw data.
Reviewed by: jingham, clayborg
Subscribers: lldb-commits, domipheus
Differential Revision: http://reviews.llvm.org/D13903
llvm-svn: 250886
|
| |
|
|
| |
llvm-svn: 250874
|
| |
|
|
|
|
|
|
| |
source/Plugins; other minor fixes.
Differential Revision: http://reviews.llvm.org/D13916
llvm-svn: 250872
|
| |
|
|
|
|
|
|
| |
To allow that, I've added a SetREPL call to the Target, which allows a REPL
that just created a target to install itself as the go-to REPL for the
corresponding language.
llvm-svn: 250870
|
| |
|
|
|
|
| |
their own target.
llvm-svn: 250869
|
| |
|
|
| |
llvm-svn: 250838
|
| |
|
|
|
|
|
|
|
| |
Revert it bacuse it introduces several race condition detected by
the build bots.
This reverts commit 5107a5ebdb7c4571a30a7098b40bf8098b678447.
llvm-svn: 250832
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Loading the debug info from a large application is the slowest task
LLDB do. This CL makes most of the dwarf parsing code multi-threaded.
As a result the speed of "attach; backtrace; exit;" when the inferior
is an LLDB with full debug info increased by a factor of 2 (on my machine).
Differential revision: http://reviews.llvm.org/D13662
llvm-svn: 250821
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose of the class is to make it easy to execute tasks in parallel
Basic design goals:
* Have a very lightweight and easy to use interface where a list of
lambdas can be executed in parallel
* Use a global thread pool to limit the number of threads used
(std::async don't do it on Linux) and to eliminate the thread creation
overhead
* Destroy the thread currently not in use to avoid the confusion caused
by them during debugging LLDB
Possible future improvements:
* Possibility to cancel already added, but not yet started tasks
* Parallel for_each implementation
* Optimizations in the thread creation destroyation code
Differential revision: http://reviews.llvm.org/D13727
llvm-svn: 250820
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
ADB packets have a maximum size of 4k. This means the size of memory reads does not affect speed
too much (as long as it fits in one packet). Therefore, I am increasing the default memory read
size for android to 2k. This value is used only if the user has not modified the default
memory-cache-line-size setting.
Reviewers: clayborg, tberghammer
Subscribers: tberghammer, danalbert, srhines, lldb-commits
Differential Revision: http://reviews.llvm.org/D13812
llvm-svn: 250814
|
| |
|
|
| |
llvm-svn: 250810
|
| |
|
|
|
|
|
|
| |
Reviewers: clayborg, labath.
Subscribers: jaydeep, dsanders, bhushan, sagar, nitesh.jain, emaste,lldb-commits.
Differential Revision: http://reviews.llvm.org/D13646
llvm-svn: 250801
|
| |
|
|
| |
llvm-svn: 250798
|
| |
|
|
|
|
|
|
| |
other minor fixes.
Differential Revision: http://reviews.llvm.org/D13876
llvm-svn: 250789
|
| |
|
|
|
|
|
|
| |
"expr -r" does this. It also returns to a REPL if the LLDB command interpreter
is neseted inside it, for example in cases where a REPL command resulted in a
breakpoint being hit or a crash.
llvm-svn: 250780
|
| |
|
|
|
|
|
|
|
| |
This makes LLDB launch and create a REPL, specifying no target so that the REPL
can create one for itself. Also added the "--repl-language" option, which
specifies the language to use. Plumbed the relevant arguments and errors
through the REPL creation mechanism.
llvm-svn: 250773
|
| |
|
|
|
|
|
|
| |
HostInfo::GetProgramFileSpec(). This function returns the FileSpec to the program that is running the LLDB.framework or lldb.so and is more reliable than checking the path of LLDB.framework/lldb.so itself since it might not exist within the Xcode.app bundle (DYLD_FRAMEWORK_PATH). Then we check DEVELOPER_DIR, then check the currently installed Xcode with xcrun.
<rdar://problem/23167253>
llvm-svn: 250772
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the path if m_filename is set to exactly '.'. Previously this would cause a FileSpec object that looked like:
m_directory = "/tmp"
m_filename = "."
To look like:
m_directory = "/tmp/."
m_filename = "foo.txt"
if "foo.txt" was appended to it. With this fix it will be:
m_directory = "/tmp"
m_filename = "foo.txt"
llvm-svn: 250770
|