hanchenye-llvm-project/lldb/source/Expression
Sean Callanan 933693b621 Fixed a bunch of ownership problems with the expression
parser.  Specifically:

- ClangUserExpression now keeps weak pointers to the
  structures it needs and then locks them when needed.
  This ensures that they continue to be valid without
  leaking memory if the ClangUserExpression is long
  lived.

- ClangExpressionDeclMap, instead of keeping a pointer
  to an ExecutionContext, now contains an
  ExecutionContext.  This prevents bugs if the pointer
  or its contents somehow become stale.  It also no
  longer requires that ExecutionContexts be passed
  into any function except its initialization function,
  since it can count on the ExecutionContext still
  being around.

There's a lot of room for improvement (specifically,
ClangExpressionDeclMap should also use weak pointers
insetad of shared pointers) but this is an important
first step that codifies assumptions that already
existed in the code.

llvm-svn: 150217
2012-02-10 01:22:05 +00:00
..
ASTDumper.cpp Pulled in a new version of LLVM/Clang to solve a variety 2011-11-15 02:11:17 +00:00
ASTResultSynthesizer.cpp The "desired result type" code in the expression 2011-12-21 22:22:58 +00:00
ASTStructExtractor.cpp Pulled in a new revision of LLVM/Clang and added 2011-11-19 02:54:21 +00:00
ClangASTSource.cpp I left some stray debugging messages in the source 2012-02-06 21:28:03 +00:00
ClangExpressionDeclMap.cpp Fixed a bunch of ownership problems with the expression 2012-02-10 01:22:05 +00:00
ClangExpressionParser.cpp I have brought LLDB up-to-date with top of tree 2012-02-04 08:49:35 +00:00
ClangExpressionVariable.cpp http://llvm.org/bugs/show_bug.cgi?id=11618 2012-01-06 00:35:38 +00:00
ClangFunction.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
ClangPersistentVariables.cpp I have brought LLDB up-to-date with top of tree 2012-02-04 08:49:35 +00:00
ClangUserExpression.cpp Fixed a bunch of ownership problems with the expression 2012-02-10 01:22:05 +00:00
ClangUtilityFunction.cpp Switching back to using std::tr1::shared_ptr. We originally switched away 2012-01-29 20:56:30 +00:00
DWARFExpression.cpp Fixed a bug where the DWARF location expression 2012-01-06 18:24:47 +00:00
ExpressionSourceCode.cpp Pulled in a new version of LLVM/Clang to solve a variety 2011-11-15 02:11:17 +00:00
IRDynamicChecks.cpp Brought LLVM/Clang up to top of tree. The only 2012-02-09 03:22:41 +00:00
IRForTarget.cpp Brought LLVM/Clang up to top of tree. The only 2012-02-09 03:22:41 +00:00
IRInterpreter.cpp The IRInterpreter's constant evaluator wasn't 2012-02-08 01:27:49 +00:00
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
ProcessDataAllocator.cpp While tracking down memory consumption issue a few things were needed: the 2011-08-10 02:10:13 +00:00
RecordingMemoryManager.cpp I have brought LLDB up-to-date with top of tree 2012-02-04 08:49:35 +00:00