llvm-project/lldb/source/Core
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
..
Address.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
AddressRange.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
AddressResolver.cpp
AddressResolverFileLine.cpp Added a new option to the "source list" command that allows us to see where 2011-04-19 04:19:37 +00:00
AddressResolverName.cpp Removed namespace qualification from symbol queries. 2011-10-13 16:49:47 +00:00
ArchSpec.cpp Handle all of the "thumb" target triple architecture variants that llvm 2011-12-16 18:15:52 +00:00
Baton.cpp Don't print out the baton pointer value for simple Baton classes. 2011-06-21 20:47:20 +00:00
Broadcaster.cpp Cleaned up the the code that figures out the inlined stack frames given a 2011-10-01 00:45:15 +00:00
Communication.cpp Fixed an issue where even if the communication object had Clear() called on 2011-08-19 23:28:37 +00:00
Connection.cpp
ConnectionFileDescriptor.cpp Disable the ConnectionFileDescriptor mutex for now as it is deadlocking our 2012-01-27 18:57:04 +00:00
ConnectionMachPort.cpp Improved the packet throughput when debugging with GDB remote by over 3x on 2011-06-17 01:22:15 +00:00
ConnectionSharedMemory.cpp Improved the packet throughput when debugging with GDB remote by over 3x on 2011-06-17 01:22:15 +00:00
ConstString.cpp Fixed up the comments in the headerdoc to match the current implementation 2011-09-12 03:55:58 +00:00
DataBufferHeap.cpp
DataBufferMemoryMap.cpp Since clang modifies .o files in place, use MAP_PRIVATE as it seems 2012-01-10 02:53:13 +00:00
DataEncoder.cpp Forgot to write out the NULL terminator when putting C string value into 2011-09-01 18:13:54 +00:00
DataExtractor.cpp Instead of blindly printing a string when 2012-01-04 17:36:30 +00:00
DataVisualization.cpp Renaming a bulk of method calls from Get() to something more descriptive 2011-09-09 23:33:14 +00:00
Debugger.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
Disassembler.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
DynamicLoader.cpp The DynamicLoader plug-in instance now lives up in lldb_private::Process where 2011-02-16 04:46:07 +00:00
EmulateInstruction.cpp Created a std::string in the base StopInfo class for the description and 2011-06-04 01:26:29 +00:00
Error.cpp Python summary strings: 2011-07-15 02:26:42 +00:00
Event.cpp This patch captures and serializes all output being written by the 2011-05-02 20:41:46 +00:00
FileLineResolver.cpp Added the ability to restrict breakpoints by function name, function regexp, selector 2011-09-23 00:54:11 +00:00
FileSpecList.cpp Added the ability to restrict breakpoints by function name, function regexp, selector 2011-09-23 00:54:11 +00:00
FormatClasses.cpp Fixed the Xcode project building of LLVM to be a bit more user friendly: 2011-11-04 03:34:56 +00:00
FormatManager.cpp Fixed the Xcode project building of LLVM to be a bit more user friendly: 2011-11-04 03:34:56 +00:00
History.cpp I modified the StringMap that was being used to unique our debugger C strings 2011-06-09 22:34:34 +00:00
InputReader.cpp While tracking down memory consumption issue a few things were needed: the 2011-08-10 02:10:13 +00:00
InputReaderEZ.cpp While tracking down memory consumption issue a few things were needed: the 2011-08-10 02:10:13 +00:00
InputReaderStack.cpp Create new class, InputReaderStack, to better handle 2011-06-02 19:18:55 +00:00
Language.cpp Created lldb::LanguageType by moving an enumeration from the 2010-07-28 02:04:09 +00:00
Listener.cpp Cleaned up the the code that figures out the inlined stack frames given a 2011-10-01 00:45:15 +00:00
Log.cpp Process IDs (lldb::pid_t) and thread IDs (lldb::tid_t) are now 64 bit. This 2011-12-01 23:28:38 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
Mangled.cpp Added new symbol types for Objective C classes, metaclasses, and ivars. Each 2011-12-03 02:30:59 +00:00
Module.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
ModuleChild.cpp
ModuleList.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
Opcode.cpp Added more functionality to the public API to allow for better 2011-09-26 07:11:27 +00:00
PluginManager.cpp Added a new plug-in type: lldb_private::OperatingSystem. The operating system 2011-08-22 02:49:39 +00:00
RegisterValue.cpp Cleaned up many error codes. For any who is filling in error strings into 2011-10-26 00:56:27 +00:00
RegularExpression.cpp warnings: Fix a bunch of -Wreorder problems. 2011-10-31 22:50:49 +00:00
Scalar.cpp <rdar://problem/10546739> 2011-12-29 01:26:56 +00:00
SearchFilter.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
Section.cpp Big change in the way ObjectFile file contents are managed. We now 2012-01-12 05:25:17 +00:00
SourceManager.cpp rdar://problem/10227672 2011-12-12 21:59:28 +00:00
State.cpp Fixed an issue with the pthread_setspecific() where we weren't NULL-ing out 2011-11-17 01:23:07 +00:00
Stream.cpp Fixed an issue in the DWARFLocationList::Dump() function where default 2011-11-28 00:51:27 +00:00
StreamAsynchronousIO.cpp This patch captures and serializes all output being written by the 2011-05-02 20:41:46 +00:00
StreamFile.cpp Use Host::File in lldb_private::StreamFile and other places to cleanup host 2011-02-09 01:08:52 +00:00
StreamString.cpp Completed more work on the KDP darwin kernel debugging Process plug-in. 2011-07-16 03:19:08 +00:00
StringList.cpp While tracking down memory consumption issue a few things were needed: the 2011-08-10 02:10:13 +00:00
Timer.cpp Added a setting to "log timer" so you can see the incremental timings as well: 2010-11-04 23:19:21 +00:00
UUID.cpp Header patch, virtual dtor patch and missed UUID patch from Kirk Beitz. 2011-02-05 02:56:16 +00:00
UserID.cpp Moved lldb::user_id_t values to be 64 bit. This was going to be needed for 2011-10-19 18:09:39 +00:00
UserSettingsController.cpp Add an InstanceSettings::NotifyOwnerIsShuttingDown() method so that the owner can notify InstanceSettings instances 2012-01-27 21:27:39 +00:00
VMRange.cpp Added support for inlined stack frames being represented as real stack frames 2010-08-24 00:45:41 +00:00
Value.cpp Add check for non-NULL Variable with a NULL Type. 2011-12-22 17:03:37 +00:00
ValueObject.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
ValueObjectChild.cpp Cleaned up many error codes. For any who is filling in error strings into 2011-10-26 00:56:27 +00:00
ValueObjectConstResult.cpp Fixed a dangling pointer bug associated with the 2012-01-05 01:11:09 +00:00
ValueObjectConstResultChild.cpp Redesign of the interaction between Python and frozen objects: 2011-09-06 19:20:51 +00:00
ValueObjectConstResultImpl.cpp Add the ability to capture the return value in a thread's stop info, and print it 2011-12-17 01:35:57 +00:00
ValueObjectDynamicValue.cpp Converted the lldb_private::Process over to use the intrusive 2011-09-22 04:58:26 +00:00
ValueObjectList.cpp Added the ability to see global variables with a variable expression path so 2011-07-08 21:46:14 +00:00
ValueObjectMemory.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
ValueObjectRegister.cpp Fixed register value objects to be able to return their values as unsigned 2011-08-16 03:49:01 +00:00
ValueObjectSyntheticFilter.cpp - Now using ${var} as the summary for an aggregate type will produce "name-of-type @ object-location" instead of giving an error 2011-08-19 21:13:46 +00:00
ValueObjectVariable.cpp ValueObjectVariable::GetClangAST should check that it has a valid Type before accessing it. 2011-10-31 23:06:45 +00:00