aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-03-27<rdar://problem/13521159>Greg Clayton
LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down. All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178191 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Implementing the notion of externally-acquirable ScriptInterpreter lockEnrico Granata
With this notion, if parties outside the ScriptInterpreter itself need to acquire a lock on script APIs, they can do so by a pattern like this: { auto lock = interpeter->AcquireInterpreterLock(); // do whatever you need to do... } // lock will automatically be released here This might be useful for classes that use the Python convenience objects (e.g. PythonDictionary) to ensure they keep the underlying interpreter in a safe and controlled condition while they call through the C API functions Of course, the ScriptInterpreter still manages its internal locking correctly when necessary :-) git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178189 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27test commitAshok Thirumurthi
- modified a comment git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178178 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27<rdar://problem/13327940>Greg Clayton
Cleaned up some paths. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178177 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Added a source file needed for clang to compile in the lldb_perf_clang test.Greg Clayton
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178176 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27<rdar://problem/13327940>Greg Clayton
Enhance automated testing to include evaluating function calls. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178175 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Fix a typo in help string.Jim Ingham
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178154 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Fixed a problem where inline assembly errors causedSean Callanan
LLDB to crash. <rdar://problem/13497915> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178115 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Don't use a "uintptr_t" for the metadata key, use a "void *". This removes ↵Greg Clayton
all of the casts that were being used and cleans the code up a bit. Also added the ability to dump the metadata. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178113 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-27Prune more stuff out of the build and source folders after building clang.Greg Clayton
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178112 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Cleaned up how LLDB.framework was being linked to and also how the target ↵Greg Clayton
dependencies. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178085 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26<rdar://problem/13339196>Enrico Granata
The algorithm to access an item in a __NSArrayM was not reacting properly to deletions The fix is to use a smarter formula that accounts for items shifting and the resulting notion of offsets in the table git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178076 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26<rdar://problem/13246939>Enrico Granata
Make format uint64_t[] actually work as designed git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178072 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Add a way to dump a ClangASTType to stdout for debugging purposes.Greg Clayton
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178071 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Trim the output build folder a bit to it isn't so large.Greg Clayton
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178070 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26A few more tweaks to the python perf tests. Now there is a MemoryMeasurement.Greg Clayton
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178069 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Clean up logging a bit to not log when a command pipe is opened when “lldb ↵Greg Clayton
object” logging is on. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178068 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Data formatters cleanup:Enrico Granata
- Making an error message more consistent - Ensuring the element size is not zero before using it in a modulus - Properly using target settings to cap the std::list element count - Removing spurious element size calculations that were unused - Removing spurious capping in std::map git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178057 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Don't crash when we have an element size of zero.Greg Clayton
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178056 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26That wasn't a typo, if the short letter option is from a non-obvious source, ↵Jim Ingham
I capitolize it in the help as an aid to memory. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178052 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Our commands that end up displaying a ValueObject as part of their workflow ↵Enrico Granata
use OptionGroupValueObjectDisplay as their currency for deciding the final representation ValueObjects themselves use DumpValueObjectOptions as the currency for the same purpose The code to convert between these two units was replicated (to varying degrees of correctness) in several spots in the code This checkin provides one and only one (and hopefully correct :-) entry point for this conversion git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178044 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Change the stepping test to output "total time" for the step as well.Jim Ingham
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178043 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Fixed a typo.Sean Callanan
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178039 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Remove FunctionProfiler and ProfileObjectiveC action classes as they are not ↵Greg Clayton
used. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178035 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26<rdar://problem/13502196>Greg Clayton
We have the tag when figuring out the fully qualified name, append a suitable name for other types of tags when no name is available. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177966 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26<rdar://problem/13502196> Greg Clayton
Functions in "(anonymous namespace)" was causing LLDB to crash when trying to complete a type and it would also cause functions arguments to appear in wrong place in frame display when showing function arguments. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177965 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Make the stepping perf test case actually work.Jim Ingham
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177964 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26<rdar://problem/13221060>Enrico Granata
Make register read and write accept $<regname> as valid. This allows: (lldb) reg read rbx rbx = 0x0000000000000000 (lldb) reg read $rbx rbx = 0x0000000000000000 (lldb) reg write $rbx 1 (lldb) reg read $rbx rbx = 0x0000000000000001 to function correctly It is not done at the RegisterContext level because we should keep the internal API clean of this user-friendly behavior and name registers appropriately. If this ends up being needed in more places we can reconsider. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177961 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-26Checking that the wrong syntax does not give a correct summary after ↵Enrico Granata
clearing the error messages here git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177949 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Modified patch from Prabhat Verma to enable loading core files through the ↵Greg Clayton
SBTarget API. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177932 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Fix the buildbot so a LLDB test doesn't fail looking for "<invalid usage of ↵Greg Clayton
pointer value as object>". git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177926 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13498879> Greg Clayton
C String summary is emitting "<invalid usage of pointer value as object>" for bad pointers. Now it doesn't emit anything. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177913 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13498504>Han Ming Ong
Don't hard code vm page size in profiling code git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177907 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13404009>Han Ming Ong
Only get the attach_info's user ID if the supplied user info is invalid. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177900 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13365424>Enrico Granata
Ensure that option -Y also works for expression as it does for frame variable Also, if the user passes an explicit format specifier when printing a variable, override the summary's decision to hide the value. This is required for scenarios like this to work: (lldb) p/x c (Class) $0 = 0x0000000100adb7f8 NSObject Previously this would say: (lldb) p/x c (Class) $0 = NSObject ignoring the explicit format specifier git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177893 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25<rdar://problem/13434476>Enrico Granata
Making value objects properly iterable in constructs of the form [ x for x in value_with_children ] This would previously cause an endless loop because lacking a proper iterator object, Python will keep calling __getitem__() with increasing values of the index until it gets an IndexError since SBValue::GetValueForExpressionPath() supports synthetic array members, no array index will ever really cause an IndexError to be raised, hence the endless iteration class value_iter is an implementation of __iter__() that provides a terminating iterator over a value git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177885 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25Fixed a potential crash if layout for a structureSean Callanan
went wrong and we tried to get layout information that wasn't there. <rdar://problem/13490170> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177880 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25These test cases fail on the buildbot - skip on Linux for now, will figure ↵Enrico Granata
out why git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177879 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-25- Masking out SBCommandReturnObject::Printf() from the Python layer because ↵Enrico Granata
SWIG and varargs do not get along well. It is replaced by a Print("str") call which is equivalent to Printf("%s","str") - Providing file-like behavior for SBStream with appropriate extension write() and flush() calls, plus documenting that these are only meant and only exist for Python Documenting the file-like behavior on our website git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177877 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Add two additional DNBLog's in places where we're about to killJason Molenda
off the inferior process so we stand a better chance of understanding what caused us to send a PT_KILL. <rdar://problem/12720340> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177817 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Set the correct byte size for complex integer (-fI) memory reads.Jason Molenda
<rdar://problem/12281172> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177814 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23And then again only compute the more expensive piece of data if need be :-)Enrico Granata
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177812 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Added a python version of the performance tests. It will be good to see if ↵Greg Clayton
the overhead of python interferes at all with our performance readings. We can try things out with this script and see how things go. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177811 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Invert two condition checks to evaluate them in cheapest-to-more-expensive orderEnrico Granata
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177810 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Added better measurements to test:Greg Clayton
- memory delta and time for: target create - memory delta and time for: setting breakpoint at main by name - time to launch and hit bp at main - overall memory of target create + bp main + run to main - ovarall time of target create + bp main + run to main git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177808 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23<rdar://problem/13312903>Enrico Granata
Exports write() and flush() from SBCommandReturnObject to enable file-like output from Python commands. e.g.: def ls(debugger, command, result, internal_dict): print >>result,”just “some output” will produce (lldb) ls just “some output (lldb) git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177807 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23<rdar://problem/13315663>Enrico Granata
commands of the form frame variable -f c-string foo where foo is an arbitrary pointer (e.g. void*) now do the right thing, i.e. they deref the pointer and try to get a c-string at the pointed address instead of dumping the pointer bytes as a string. the old behavior is used as a fallback if things don’t go well git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177799 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23If there are multiple uses of an Objective-CSean Callanan
class symbol in the same expression, handle all of them instead of just the first one. <rdar://problem/13440133> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177794 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Only get the script interpreter if we find scripting resources in the symbol ↵Greg Clayton
file. This helps us avoid initializing python when it isn't needed. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177793 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-23Don't need to resolve the .o file path.Greg Clayton
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177792 91177308-0d34-0410-b5e6-96231b3b80d8