History log of /external/lldb/include/lldb/Utility/SharingPtr.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
102b2c2681c9a830afe25bfea35557421905e42c 19-Apr-2013 Greg Clayton <gclayton@apple.com> After discussing with Chris Lattner, we require C++11, so lets get rid of the macros and just use C++11.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
b17bf82e7f3a5e125abc79b6b75725c601f1c6ce 27-Jan-2012 Greg Clayton <gclayton@apple.com> NULL out the "ptr_" member of shared pointers for debug and release
builds (not build and integration builds) to help catch when a shared pointer
that might be in a collection class is used after the collection
has been freed.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
666c553ca803df25b7fc1e53cb8616449f4ce308 19-Jan-2012 Greg Clayton <gclayton@apple.com> Allow a way to track all allocations for our intrusive ref counted pointers.
It is disabled by default, but can be enabled to track down shared pointer
cycles.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
987c7ebe1daa425ba7abfa9643800e3237146fc0 17-Sep-2011 Greg Clayton <gclayton@apple.com> Adopt the intrusive pointers in:

lldb_private::Breakpoint
lldb_private::BreakpointLocations
lldb_private::BreakpointSite
lldb_private::Debugger
lldb_private::StackFrame
lldb_private::Thread
lldb_private::Target



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
6e0101c86555a06b3bd4cb6104b35abfae0b0057 17-Sep-2011 Greg Clayton <gclayton@apple.com> Convert lldb::ModuleSP to use an instrusive ref counted pointer.
We had some cases where getting the shared pointer for a module from
the global module list was causing a performance issue when debugging
with DWARF in .o files. Now that the module uses intrusive ref counts,
we can easily convert any pointer to a shared pointer.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
c51ffbf896e398ada5f7e89b2fa5aec6f2224f09 12-Aug-2011 Greg Clayton <gclayton@apple.com> We were leaking a stack frame in StackFrameList in Thread.cpp which could
cause extra shared pointer references to one or more modules to be leaked.
This would cause many object files to stay around the life of LLDB, so after
a recompile and rexecution, we would keep adding more and more memory. After
fixing the leak, we found many cases where leaked stack frames were still
being used and causing crashes in the test suite. These are now all resolved.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
47da810225d8674eb9158bcf5f1f5b847cbaeedf 23-Apr-2011 Jim Ingham <jingham@apple.com> Fix up how the ValueObjects manage their life cycle so that you can hand out a shared
pointer to a ValueObject or any of its dependent ValueObjects, and the whole cluster will
stay around as long as that shared pointer stays around.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@130035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
bdcb6abaa287df2c5f312c51d993c1d0b0cb120c 26-Jan-2011 Greg Clayton <gclayton@apple.com> Enabled extra warnings and fixed a bunch of small issues.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
576b9655c887f7ec0d7389ac856d5d7e3f3ec8ff 18-Dec-2010 Greg Clayton <gclayton@apple.com> Linux patches from Stephen Wilson.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
e005f2ce03c489ebde9110678a29cbfe8488d5b4 06-Nov-2010 Greg Clayton <gclayton@apple.com> Modified all logging calls to hand out shared pointers to make sure we
don't crash if we disable logging when some code already has a copy of the
logger. Prior to this fix, logs were handed out as pointers and if they were
held onto while a log got disabled, then it could cause a crash. Now all logs
are handed out as shared pointers so this problem shouldn't happen anymore.
We are also using our new shared pointers that put the shared pointer count
and the object into the same allocation for a tad better performance.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
101530ac16d5309953e1fe4416cfc407f10fae0a 06-Nov-2010 Greg Clayton <gclayton@apple.com> Howard Hinnant gave us changes for lldb_private::SharingPtr that gives us the ability have a single allocation contain both the class and the ref count without having to do intrusive pointer type stuff. They will intermingle correctly with other shared pointers as well. In order to take advantage of this you need to create your pointer in your class with the make_shared function:

lldb_private::SharingPtr<A> p = llvm::make_shared<A>(i, j);

Currently up to five constructor arguments are supported and each must be an LValue.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
6a5aa8ab240a13f397e3e09f2ca1ea3f16b451c2 25-Sep-2010 Greg Clayton <gclayton@apple.com> Cleaned a few build related things up:

Added a virtual destructor to ClangUtilityFunction with a body to it cleans
itself up.

Moved our SharingPtr into the lldb_private namespace to keep it easy to make
an exports file that exports only what is needed ("lldb::*").



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@114771 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h
17b71361774cce1c5cbc2b31e0181a932634073d 12-Jun-2010 Eli Friedman <eli.friedman@gmail.com> Move SharingPtr.h into include/.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@105896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/include/lldb/Utility/SharingPtr.h