llvm-project/lldb
Greg Clayton 7bcb93d5a5 <rdar://problem/13643315>
Fixed performance issues that arose after changing SBTarget, SBProcess, SBThread and SBFrame over to using a std::shared_ptr to a ExecutionContextRef. The ExecutionContextRef doesn't store a std::weak_ptr to a stack frame because stack frames often get replaced with new version, so it held onto a StackID object that would allow us to ask the thread each time for the frame for the StackID. The linear function was too slow for large recursive stacks. We also fixed an issue where anytime the std::shared_ptr<ExecutionContextRef> in any SBTarget, SBProcess, SBThread objects was turned into an ExecutionContext object, it would try to resolve all items in the ExecutionContext which are shared pointers. Even if the StackID in the ExecutionContextRef was invalid, it was looking through all frames in every thread. This causes a lot of unnecessary frame accesses.

llvm-svn: 182627
2013-05-24 00:58:29 +00:00
..
docs Updated the code signing docs. 2013-03-29 17:53:55 +00:00
examples Providing a more interesting command template for LLDB 2013-05-09 01:32:24 +00:00
include <rdar://problem/13643315> 2013-05-24 00:58:29 +00:00
lib Allow LLDB to be built on a system with an installed gcc/g++ that isn't the default. I recently installed gcc-4.7/g++-4.7 on Ubuntu and tried to build by specifying: 2013-05-17 20:56:55 +00:00
lldb.xcodeproj <rdar://problem/13878726> 2013-05-21 20:13:34 +00:00
lldb.xcworkspace Move the performance test cases into their own project. 2013-03-18 23:05:00 +00:00
resources Updated Apple LLDB version to lldb-300.99.0. Also 2013-03-07 22:29:06 +00:00
scripts Fix CMake install target 2013-05-17 20:55:19 +00:00
source <rdar://problem/13643315> 2013-05-24 00:58:29 +00:00
test Fixed a bug where persistent variables did not 2013-05-22 22:49:06 +00:00
tools Add ${ansi.XX} parsing to lldb prompt, use-color setting, and -no-use-colors command line options. 2013-05-23 20:47:45 +00:00
utils Improve vim-lldb expression commands for objective-c and implement evaluate-under-cursor: 2013-05-23 21:34:26 +00:00
www Added a few linux build configure/make examples. 2013-05-17 21:06:45 +00:00
.arcconfig Adding .arcconfig file to LLDB to allow using Phabricator for reviews 2013-05-23 20:21:28 +00:00
.gitignore Remove "llvm" from list of things to ignore. This results in the 2012-03-03 06:43:59 +00:00
CMakeLists.txt Append missing version number to lldb binary built by cmake 2013-05-17 18:51:03 +00:00
INSTALL.txt Update INSTALL.txt to mention LLDB builds on Linux with GCC or Clang. 2013-02-21 22:37:18 +00:00
LICENSE.TXT
Makefile Fix Linux i386 build 2013-03-07 00:48:53 +00:00