- Oct 05, 2012
-
-
Jason Molenda authored
enabled after we'd found a few bugs that were caused by shadowed local variables; the most important issue this turned up was a common mistake of trying to obtain a mutex lock for the scope of a code block by doing Mutex::Locker(m_map_mutex); This doesn't assign the lock object to a local variable; it is a temporary that has its dtor called immediately. Instead, Mutex::Locker locker(m_map_mutex); does what is intended. For some reason -Wshadow happened to highlight these as shadowed variables. I also fixed a few obivous and easy shadowed variable issues across the code base but there are a couple dozen more that should be fixed when someone has a free minute. <rdar://problem/12437585> llvm-svn: 165269
-
- Sep 25, 2012
-
-
Sean Callanan authored
llvm-svn: 164572
-
Sean Callanan authored
top-of-tree. Removed all local patches and llvm.zip. The intent is that fron now on top-of-tree will always build against LLVM/Clang top-of-tree, and that problems building will be resolved as they occur. Stable release branches of LLDB can be constructed as needed and linked to specific release branches of LLVM/Clang. llvm-svn: 164563
-
- Sep 21, 2012
-
-
Sean Callanan authored
not correctly store the contents of Objective-C classes. This was due to a combination of factors: 1) Types were only being completed if we were looking inside them for specific ivars (using FindExternalVisibleDeclsByName). We now look the complete type up at every FindExternalLexicalDecls. 2) Even if the types were completed properly, ValueObjectConstResult overrode the type of every ValueObject using the complete type for its class from the debug information. Superclasses of complete classes are not guaranteed to be complete. Although "frame variable" uses the debug information, the expression parser does now piece together complete types at every level (as described in Bullet 1), so I provided a way for the expression parser to prevent overriding. 3) Type sizes were being miscomputed by ClangASTContext. It ignored the ISA pointer and only counted fields. We now correctly count the ISA in the size of an object. <rdar://problem/12315386> llvm-svn: 164333
-
Greg Clayton authored
llvm-svn: 164327
-
- Sep 18, 2012
-
-
Greg Clayton authored
Stop using the "%z" size_t modifier and cast all size_t values to uint64_t. Some platforms don't support this modification. llvm-svn: 164148
-
Enrico Granata authored
Making ClangExpression hold on to a WP to the Process instead of a SP. This fix should enable us to have per-process maps of ClangExpressions without fear of keeping the process alive forever llvm-svn: 164082
-
- Sep 14, 2012
-
-
Sean Callanan authored
them in one place rather than having them replicated across all the potential function wrappers. <rdar://problem/12293880> llvm-svn: 163857
-
- Sep 11, 2012
-
-
Sean Callanan authored
information from the Objective-C runtime. This patch takes the old AppleObjCSymbolVendor and replaces it with an AppleObjCTypeVendor, which is much more lightweight. Specifically, the SymbolVendor needs to pretend that there is a backing symbol file for the Types it vends, whereas a TypeVendor only vends bare ClangASTTypes. These ClangASTTypes only need to exist in an ASTContext. The ClangASTSource now falls back to the runtime's TypeVendor (if one exists) if the debug information doesn't find a complete type for a particular Objective-C interface. The runtime's TypeVendor maintains an ASTContext full of types it knows about, and re-uses the ISA-based type query information used by the ValueObjects. Currently, the runtime's TypeVendor doesn't provide useful answers because we haven't yet implemented a way to iterate across all ISAs contained in the target process's runtime. That's the next step. llvm-svn: 163651
-
Filipe Cabecinhas authored
llvm-svn: 163641
-
- Sep 06, 2012
-
-
Sean Callanan authored
which can conflict with accurate crash reporting in multithreaded contexts. llvm-svn: 163282
-
- Aug 29, 2012
-
-
rdar://problem/11757916Greg Clayton authored
Make breakpoint setting by file and line much more efficient by only looking for inlined breakpoint locations if we are setting a breakpoint in anything but a source implementation file. Implementing this complex for a many reasons. Turns out that parsing compile units lazily had some issues with respect to how we need to do things with DWARF in .o files. So the fixes in the checkin for this makes these changes: - Add a new setting called "target.inline-breakpoint-strategy" which can be set to "never", "always", or "headers". "never" will never try and set any inlined breakpoints (fastest). "always" always looks for inlined breakpoint locations (slowest, but most accurate). "headers", which is the default setting, will only look for inlined breakpoint locations if the breakpoint is set in what are consudered to be header files, which is realy defined as "not in an implementation source file". - modify the breakpoint setting by file and line to check the current "target.inline-breakpoint-strategy" setting and act accordingly - Modify compile units to be able to get their language and other info lazily. This allows us to create compile units from the debug map and not have to fill all of the details in, and then lazily discover this information as we go on debuggging. This is needed to avoid parsing all .o files when setting breakpoints in implementation only files (no inlines). Otherwise we would need to parse the .o file, the object file (mach-o in our case) and the symbol file (DWARF in the object file) just to see what the compile unit was. - modify the "SymbolFileDWARFDebugMap" to subclass lldb_private::Module so that the virtual "GetObjectFile()" and "GetSymbolVendor()" functions can be intercepted when the .o file contenst are later lazilly needed. Prior to this fix, when we first instantiated the "SymbolFileDWARFDebugMap" class, we would also make modules, object files and symbol files for every .o file in the debug map because we needed to fix up the sections in the .o files with information that is in the executable debug map. Now we lazily do this in the DebugMapModule::GetObjectFile() Cleaned up header includes a bit as well. llvm-svn: 162860
-
- Aug 18, 2012
-
-
Johnny Chen authored
llvm-svn: 162162
-
Johnny Chen authored
llvm-svn: 162161
-
- Aug 16, 2012
-
-
Sean Callanan authored
are materialized. <rdar://problem/12105013> llvm-svn: 162046
-
- Aug 11, 2012
-
-
rdar://problem/11791234Greg Clayton authored
Remember to copy the address byte size and the byte order when copying data into a DWARF location object, or things will go wrong. llvm-svn: 161721
-
Jim Ingham authored
llvm-svn: 161719
-
rdar://problem/11791234Greg Clayton authored
Fixed an issue that could cause references the shared data for an object file to stay around longer than intended and could cause memory bloat when debugging multiple times. llvm-svn: 161716
-
- Aug 09, 2012
-
-
Sean Callanan authored
and instead made us use implicit casts to bool. This generated a warning in C++11. <rdar://problem/11930775> llvm-svn: 161559
-
- Aug 04, 2012
-
-
rdar://problem/12027563Enrico Granata authored
<rdar://problem/12027563> Making sure that some class of stop-hook commands that involve po'ing objects do not cause an endless recursion llvm-svn: 161271
-
- Aug 01, 2012
-
-
Sean Callanan authored
keep a shared pointer to their disassembler. This is important for the LLVM-C disassembler because it needs to lock its parent in order to disassemble itself. This means that every interface that returned a Disassembler* needs to return a DisassemblerSP, so that the instructions and any external owners share the same reference count on the object. I changed all clients to use this shared pointer, which also plugged a few leaks. <rdar://problem/12002822> llvm-svn: 161123
-
- Jul 28, 2012
-
-
Sean Callanan authored
Objective-C method names when looking for functions in the top level or a namespace. Method names should only be found via FindExternalLexicalDecls. <rdar://problem/11711679> llvm-svn: 160907
-
- Jul 27, 2012
-
-
Sean Callanan authored
sel_getName() calls are generated for all Objective-C selectors before static literals are moved to the static allocation. This prevents errors of the form Internal error [IRForTarget]: Couldn't change a static reference to an Objective-C selector to a dynamic reference <rdar://problem/11331906> llvm-svn: 160887
-
- Jul 21, 2012
-
-
Sean Callanan authored
to returned by expressions, by removing the __cxa_atexit call that would normally cause these objects to be destroyed. This also prevents many errors of the form Couldn't rewrite one of the arguments of a function call error: Couldn't materialize struct: Structure hasn't been laid out yet <rdar://problem/11309402> llvm-svn: 160596
-
- Jul 18, 2012
-
-
rdar://problem/10998370Greg Clayton authored
Improved the error message when we can find a function in the current program by printing the demangled name. Also added the ability to create lldb_private::Mangled instances with a ConstString when we already have a ConstString for a mangled or demangled name. Also added the ability to call SetValue with a ConstString and also without a boolean to indicate if the string is mangled where we will now auto-detect if the string is mangled. llvm-svn: 160450
-
- Jul 17, 2012
-
-
Greg Clayton authored
llvm-svn: 160338
-
rdar://problem/11672978Enrico Granata authored
<rdar://problem/11672978> Fixing an issue where an ObjC object might come out without a description because the expression used to obtain it would timeout before running to completion llvm-svn: 160326
-
- Jul 14, 2012
-
-
rdar://problem/11870357Greg Clayton authored
Allow "frame variable" to find ivars without the need for "this->" or "self->". llvm-svn: 160211
-
- Jul 13, 2012
-
-
Sean Callanan authored
current symbol context is a C++ or Objective-C instance method. Specifically, ensure that we fetch information on the current block, not just the current function. llvm-svn: 160195
-
- Jul 04, 2012
-
-
Sean Callanan authored
we write into doesn't already exist. <rdar://problem/11775508> llvm-svn: 159700
-
- Jun 09, 2012
-
-
Sean Callanan authored
- On iOS, we select the "apcs-gnu" ABI to match what libraries expect. - Literals are now allocated at their preferred alignment, eliminating many alignment crashes. llvm-svn: 158236
-
- May 31, 2012
-
-
Sean Callanan authored
(which regularly conflicts with existing symbols in Objective-C). llvm-svn: 157758
-
- May 30, 2012
-
-
Jim Ingham authored
setting breakpoints. That's dangerous, since while we are setting a breakpoint, the target might hit the dyld load notification, and start removing modules from the list. This change adds a GetMutex accessor to the ModuleList class, and uses it whenever we are accessing the target's ModuleList (as returned by GetImages().) <rdar://problem/11552372> llvm-svn: 157668
-
Sean Callanan authored
checker functions exist. llvm-svn: 157652
-
- May 22, 2012
-
-
Sean Callanan authored
Objective-C "self," which is not a regular pointer. llvm-svn: 157214
-
- May 21, 2012
-
-
Sean Callanan authored
when stopped in a const method. Also updated our testsuite to ensure that JIT is forced in this case. llvm-svn: 157208
-
- May 16, 2012
-
-
Sean Callanan authored
various other syntactic sugar work. Lambdas do not due to some problems relocating code containing lambdas. Rvalue references work when returned from expressions, but need more testing. llvm-svn: 156948
-
- May 11, 2012
-
-
Jim Ingham authored
rdar://problem/11419156 llvm-svn: 156627
-
- May 10, 2012
-
-
rdar://problem/11330621Greg Clayton authored
Fixed the DisassemblerLLVMC disassembler to parse more efficiently instead of parsing opcodes over and over. The InstructionLLVMC class now only reads the opcode in the InstructionLLVMC::Decode function. This can be done very efficiently for ARM and architectures that have fixed opcode sizes. For x64 it still calls the disassembler to get the byte size. Moved the lldb_private::Instruction::Dump(...) function up into the lldb_private::Instruction class and it now uses the function that gets the mnemonic, operandes and comments so that all disassembly is using the same code. Added StreamString::FillLastLineToColumn() to allow filling a line up to a column with a character (which is used by the lldb_private::Instruction::Dump(...) function). Modified the Opcode::GetData() fucntion to "do the right thing" for thumb instructions. llvm-svn: 156532
-
- May 09, 2012
-
-
Sean Callanan authored
in expressions. llvm-svn: 156514
-