llvm-project/lldb/source/Plugins/SymbolFile/DWARF
Greg Clayton e1cd1be6d6 Switching back to using std::tr1::shared_ptr. We originally switched away
due to RTTI worries since llvm and clang don't use RTTI, but I was able to 
switch back with no issues as far as I can tell. Once the RTTI issue wasn't
an issue, we were looking for a way to properly track weak pointers to objects
to solve some of the threading issues we have been running into which naturally
led us back to std::tr1::weak_ptr. We also wanted the ability to make a shared 
pointer from just a pointer, which is also easily solved using the 
std::tr1::enable_shared_from_this class. 

The main reason for this move back is so we can start properly having weak
references to objects. Currently a lldb_private::Thread class has a refrence
to its parent lldb_private::Process. This doesn't work well when we now hand
out a SBThread object that contains a shared pointer to a lldb_private::Thread
as this SBThread can be held onto by external clients and if they end up
using one of these objects we can easily crash.

So the next task is to start adopting std::tr1::weak_ptr where ever it makes
sense which we can do with lldb_private::Debugger, lldb_private::Target,
lldb_private::Process, lldb_private::Thread, lldb_private::StackFrame, and
many more objects now that they are no longer using intrusive ref counted
pointer objects (you can't do std::tr1::weak_ptr functionality with intrusive
pointers).

llvm-svn: 149207
2012-01-29 20:56:30 +00:00
..
DWARFAbbreviationDeclaration.cpp
DWARFAbbreviationDeclaration.h 15-20% speed improvement when parsing DWARF. I used instruments to 2010-09-15 08:33:30 +00:00
DWARFAttribute.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
DWARFCompileUnit.cpp Fixed an issue with the Instruction subclasses where the strings might 2012-01-19 03:24:53 +00:00
DWARFCompileUnit.h <rdar://problem/10681814> 2012-01-12 04:33:28 +00:00
DWARFDIECollection.cpp Fixed an issue where if a method funciton was asked to be parsed before 2010-10-01 20:48:32 +00:00
DWARFDIECollection.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
DWARFDebugAbbrev.cpp Spelling changes applied from lldb_spelling.diffs from Bruce Mitchener. 2011-01-08 20:28:42 +00:00
DWARFDebugAbbrev.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
DWARFDebugArangeSet.cpp
DWARFDebugArangeSet.h Since we use address ranges a lot I added a templatized class that allows us to easily control the base address type, the size type, and the data that is stored with each range. It is designed to be populated by appending all needed items, then sorting the resulting list, and optionally minimizing the list when done. I adopted this new list in the DWARFDebugAranges for even further memory savings. 2011-10-07 03:58:56 +00:00
DWARFDebugAranges.cpp Added more functionality to Range template classes in RangeMap.h and converted remaining DWARF areas that were using ranges over to this class. Also converted lldb_private::Block to use it. 2011-10-08 00:49:15 +00:00
DWARFDebugAranges.h Changed RangeMap over to use llvm::SmallVector and updated the RangeArray and the RangeDataArray to have an extra "unsigned N" template parameter. Updated the lldb_private::Block to use a RangeArray with a uint32_t for both the function base offset and block range size, and then a 1 for the small vector size since most lexical blocks in DWARF only have 1 range. Updates the DWARFDebugRanges RangeArray to use an unsigned of 2 since most blocks that have more than one range usually have 2. Also updated a DWARFDebugAranges to default their RangeArray to use a SmallVector with unsigned size of 1 since this will take care of the .o files when doing DWARF in .o files and since there really isn't any good size we can guess with. 2011-10-08 06:59:54 +00:00
DWARFDebugInfo.cpp Since we use address ranges a lot I added a templatized class that allows us to easily control the base address type, the size type, and the data that is stored with each range. It is designed to be populated by appending all needed items, then sorting the resulting list, and optionally minimizing the list when done. I adopted this new list in the DWARFDebugAranges for even further memory savings. 2011-10-07 03:58:56 +00:00
DWARFDebugInfo.h Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
DWARFDebugInfoEntry.cpp Added code in the Host layer that can report system log messages 2012-01-05 03:57:59 +00:00
DWARFDebugInfoEntry.h <rdar://problem/10507811> 2012-01-04 22:56:43 +00:00
DWARFDebugLine.cpp Added code in the Host layer that can report system log messages 2012-01-05 03:57:59 +00:00
DWARFDebugLine.h Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
DWARFDebugMacinfo.cpp
DWARFDebugMacinfo.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
DWARFDebugMacinfoEntry.cpp Update declarations for all functions/methods that accept printf-style 2011-09-20 21:44:10 +00:00
DWARFDebugMacinfoEntry.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
DWARFDebugPubnames.cpp Added a new logging channel to the DWARF called "lookups": 2011-10-06 00:09:08 +00:00
DWARFDebugPubnames.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
DWARFDebugPubnamesSet.cpp
DWARFDebugPubnamesSet.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
DWARFDebugRanges.cpp Added more functionality to Range template classes in RangeMap.h and converted remaining DWARF areas that were using ranges over to this class. Also converted lldb_private::Block to use it. 2011-10-08 00:49:15 +00:00
DWARFDebugRanges.h Changed RangeMap over to use llvm::SmallVector and updated the RangeArray and the RangeDataArray to have an extra "unsigned N" template parameter. Updated the lldb_private::Block to use a RangeArray with a uint32_t for both the function base offset and block range size, and then a 1 for the small vector size since most lexical blocks in DWARF only have 1 range. Updates the DWARFDebugRanges RangeArray to use an unsigned of 2 since most blocks that have more than one range usually have 2. Also updated a DWARFDebugAranges to default their RangeArray to use a SmallVector with unsigned size of 1 since this will take care of the .o files when doing DWARF in .o files and since there really isn't any good size we can guess with. 2011-10-08 06:59:54 +00:00
DWARFDefines.cpp Did a lot of code cleanup. 2010-11-09 23:46:37 +00:00
DWARFDefines.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
DWARFFormValue.cpp Added a new class called lldb_private::SymbolFileType which is designed to 2011-12-08 02:13:16 +00:00
DWARFFormValue.h Added a new class called lldb_private::SymbolFileType which is designed to 2011-12-08 02:13:16 +00:00
DWARFLocationDescription.cpp Fix a bunch of places where we were passing Stream *'s but were 2011-08-27 01:24:54 +00:00
DWARFLocationDescription.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
DWARFLocationList.cpp Fixed an issue in the DWARFLocationList::Dump() function where default 2011-11-28 00:51:27 +00:00
DWARFLocationList.h Fixed the header guards. 2011-09-12 04:20:38 +00:00
HashedNameToDIE.h Fixed a problem where maintaining the ObjCInterfaceMap 2012-01-19 02:17:40 +00:00
LogChannelDWARF.cpp We finalized on the new .apple_types accelerator table format where we don't 2012-01-06 00:17:16 +00:00
LogChannelDWARF.h We finalized on the new .apple_types accelerator table format where we don't 2012-01-06 00:17:16 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
NameToDIE.cpp Huge memory and performance improvements in the DWARF parser. 2011-09-12 23:21:58 +00:00
NameToDIE.h Huge memory and performance improvements in the DWARF parser. 2011-09-12 23:21:58 +00:00
SymbolFileDWARF.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
SymbolFileDWARF.h Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
SymbolFileDWARFDebugMap.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
SymbolFileDWARFDebugMap.h Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
UniqueDWARFASTType.cpp Fix segfault in UniqueDWARFASTTypeList::Find if we are comparing 2011-10-01 01:28:37 +00:00
UniqueDWARFASTType.h Added a fix that should help incorrect type uniquing. There was an issue 2011-03-15 04:38:20 +00:00