- Oct 29, 2012
-
-
rdar://problem/11449953Enrico Granata authored
<rdar://problem/11449953> Change Debugger::SetOutputFileHandle() so that it does not automatically initialize the script interpreter in order to transfer its output file handle to it This should delay initialization of Python until strictly necessary and speed-up debugger startup Also, convert formatters for SEL and BOOL ObjC data-types from Python to C++, in order to reap more performance benefits from the above changes llvm-svn: 166967
-
rdar://problem/12500785Greg Clayton authored
I tracked down a leak that could happen when detaching from a process where the lldb_private::Process objects would stay around forever. This was caused by a eStateDetached event that was queued up on the lldb_private::Process private state thread listener. Since process events contain shared pointers to the process, this is dangerous if they don't get consume or cleared as having the lldb_private::Process class contain a collection of things that have a shared pointer to yourself is obviously bad. To fix this I modified the Process::Finalize() function to clear this list. The actual thing that was holding onto the ModuleSP and thus the static archive, was a stack frame. Since the process wasn't going away, it still had thread objects and they still had frames. I modified the Thread::Destroy() to clear the stack frames to ensure this further doesn't happen. llvm-svn: 166964
-
Jim Ingham authored
llvm-svn: 166959
-
Greg Clayton authored
llvm-svn: 166950
-
- Oct 27, 2012
-
-
Jim Ingham authored
so it could hold this information, and then used it to look up unfound names in the object pointer if it exists. This gets "frame var" to work for unqualified references to ivars captured in blocks. But the expression parser is ignoring this information still. llvm-svn: 166860
-
Jim Ingham authored
the raw exception. llvm-svn: 166859
-
Enrico Granata authored
Removing the IsDynamic() and GetStaticValue() calls, so that they will default to the base class behavior: - non-dynamic - itself as the static value This is in contrast with the previous behavior which could be confusing and could potentially cause issues when using those objects llvm-svn: 166857
-
Sean Callanan authored
- Only read the statically-defined isa table in the shared cache once. Only the dynamically-constructed isa table can change. - Ignore the statically-defined isa table if its version isn't what we expect. llvm-svn: 166856
-
- Oct 26, 2012
-
-
Jim Ingham authored
llvm-svn: 166799
-
Greg Clayton authored
Updated the "breakpoint command add" documentation and fixed the web site docs for the signature of the python breakpoint callback functions. llvm-svn: 166789
-
Jason Molenda authored
Full UnwindPlan is trying to do an impossible unwind; in that case invalidate the Full UnwindPlan and replace it with the architecture default unwind plan. This is a scenario that happens occasionally with arm unwinds in particular; the instruction analysis based full unwindplan can mis-parse the functions and the stack walk stops prematurely. Now we can do a simpleminded frame-chain walk to find the caller frame and continue the unwind. It's not ideal but given the complicated nature of analyzing the arm functions, and the lack of eh_frame information on iOS, it is a distinct improvement and fixes some long-standing problems with the unwinder on that platform. This is fixing <rdar://problem/12091421>. I may re-use this invalidate feature in the future if I can identify other cases where the full unwindplan's unwind information is clearly incorrect. This checkin also includes some cleanup for the volatile register definition in the arm ABI plugin for <rdar://problem/10652166> although work remains to be done for that bug. llvm-svn: 166757
-
rdar://problem/12570550Greg Clayton authored
TOT lldb broke finding App in app bundles when launching with shell. llvm-svn: 166733
-
Jim Ingham authored
llvm-svn: 166732
-
- Oct 25, 2012
-
-
Jim Ingham authored
llvm-svn: 166704
-
Greg Clayton authored
Allow operating system plug-ins to specify the address for registers so we don't have to create data up front. llvm-svn: 166701
-
Greg Clayton authored
Changed the V1 and V2 runtimes to be able to detect when the ISA hash table has changed, and auto update as needed. llvm-svn: 166693
-
Sean Callanan authored
reflect a change to the initializer. llvm-svn: 166657
-
Jason Molenda authored
use a DynamicLoaderStatic dynamic loader for the session instead of a kernel or user dynamic loader. llvm-svn: 166652
-
- Oct 24, 2012
-
-
Enrico Granata authored
llvm-svn: 166626
-
Enrico Granata authored
Reimplementing SBValue/ValueObject.GetValueAsUnsigned() in terms of appropriate calls in Scalar - Making sure Scalar does the right thing when casting signed values to unsigned ones. llvm-svn: 166618
-
Greg Clayton authored
llvm-svn: 166608
-
Greg Clayton authored
llvm-svn: 166604
-
rdar://problem/12481949Enrico Granata authored
<rdar://problem/12481949> Fixing SBValue.GetValueAsSigned() to do the right thing when dealing with a 32-bit negative value llvm-svn: 166603
-
Greg Clayton authored
Cleanup some variable names to indicate auto pointers and also manager the llvm::Module memory more correctly. llvm-svn: 166598
-
Sean Callanan authored
There was a generic catch-all type for path arguments called "eArgTypePath," and a specialized version called "eArgTypeFilename." It turns out all the cases where we used eArgTypePath we could have used Filename or we explicitly meant a directory. I changed Path to DirectoryName, made it use the directory completer, and rationalized the uses of Path. <rdar://problem/12559915> llvm-svn: 166533
-
Greg Clayton authored
Objective C cleanup. Removed an cache that was no longer needed and changes the code that gets the dynamic type and class name to use our new Objective C cache. llvm-svn: 166512
-
- Oct 23, 2012
-
-
rdar://problem/12523238Enrico Granata authored
Adding the new has_children (or MightHaveChildren() in C++) for the existing synthetic children providers In a few cases, the new call is going to be much more efficient than the previous num_children > 0 check When the optimization was marginal (e.g. std::vector<>), the choice was to use num_children in order to keep implementation details in one function instead of duplicating code Next step is to provide test cases llvm-svn: 166506
-
Jim Ingham authored
llvm-svn: 166502
-
rdar://problem/12523238Enrico Granata authored
This commit enables the new HasChildren() feature for synthetic children providers Namely, it hooks up the required bits and pieces so that individual synthetic children providers can implement a new (optional) has_children call Default implementations have been provided where necessary so that any existing providers continue to work and behave correctly Next steps are: 2) writing smart implementations of has_children for our providers whenever possible 3) make a test case llvm-svn: 166495
-
Jim Ingham authored
it to print the old and new values. Temporarily disable the "out of scope" checking since it didn't work correctly, and was not what people generally expected watchpoints to be doing. llvm-svn: 166472
-
Jason Molenda authored
the function's prologue instructions so we can re-instate that prologue if we hit an early return mid-function. Add some additional heuristics to differentiate between prologue and epilogue instruction sequences. This fixes the specific problem of correctly unwinding through a function which has an epilogue one instruction after the last prologue setup instruction has completed. <rdar://problem/12091139> llvm-svn: 166465
-
Jason Molenda authored
llvm-svn: 166464
-
Enrico Granata authored
llvm-svn: 166462
-
rdar://problem/12493007Greg Clayton authored
Added a new API call to help efficiently determine if a SBValue could have children: bool SBValue::MightHaveChildren (); This is inteneded to be used bui GUI programs that need to show if a SBValue needs a disclosure triangle when displaying a hierarchical type in a tree view without having to complete the type (by calling SBValue::GetNumChildren()) as completing the type is expensive. llvm-svn: 166460
-
Sean Callanan authored
options: - added help ("help language") listing the possible options; - added the possibility of synonyms for language names, in this case "ObjC" for "Objective-C"; and - made matching against language names case insensitive. This should improve discoverability. <rdar://problem/12552359> llvm-svn: 166457
-
Sean Callanan authored
of structures, and added a testcase. <rdar://problem/12551591> llvm-svn: 166450
-
- Oct 22, 2012
-
-
rdar://problem/12524810Greg Clayton authored
Fixed a crasher where if an invalid SBTarget was passed to: lldb::addr_t SBAddress::GetLoadAddress (const SBTarget &target) const; We would crash. llvm-svn: 166439
-
rdar://problem/12479701Enrico Granata authored
<rdar://problem/12479701> Use the plain pydoc pager to work around Python help() pagination conflicts with our I/O management llvm-svn: 166432
-
rdar://problem/12437442Enrico Granata authored
Given our implementation of ValueObjects we could have a scenario where a ValueObject has a dynamic type of Foo* at one point, and then its dynamic type changes to Bar* If Bar* has synthetic children enabled, by the time we figure that out, our public API is already vending SBValues wrapping a DynamicVO, instead of a SyntheticVO and there was no trivial way for us to change the SP inside an SBValue on the fly This checkin reimplements SBValue in terms of a wrapper, ValueImpl, that allows this substitutions on-the-fly by overriding GetSP() to do The Right Thing (TM) As an additional bonus, GetNonSyntheticValue() now works, and we can get rid of the ForceDisableSyntheticChildren idiom in ScriptInterpreterPython Lastly, this checkin makes sure the synthetic VOs get the correct m_value and m_data from their parents (prevented summaries from working in some cases) llvm-svn: 166426
-
rdar://problem/12473003Greg Clayton authored
Allow type searches to specify a type keyword when searching for type. Currently supported type keywords are: struct, class, union, enum, and typedef. So now you can search for types with a string like "struct foo". llvm-svn: 166420
-