[Lldb-commits] [lldb] r296833 - Mention fetching thread lists lazily.
Jim Ingham via lldb-commits
lldb-commits at lists.llvm.org
Thu Mar 2 14:13:45 PST 2017
Author: jingham
Date: Thu Mar 2 16:13:45 2017
New Revision: 296833
URL: http://llvm.org/viewvc/llvm-project?rev=296833&view=rev
Log:
Mention fetching thread lists lazily.
Modified:
lldb/trunk/www/projects.html
Modified: lldb/trunk/www/projects.html
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/www/projects.html?rev=296833&r1=296832&r2=296833&view=diff
==============================================================================
--- lldb/trunk/www/projects.html (original)
+++ lldb/trunk/www/projects.html Thu Mar 2 16:13:45 2017
@@ -200,6 +200,24 @@
</li>
<li>
+ Recover thread information lazily
+ <p>
+ LLDB stores all the user intentions for a thread in the ThreadPlans stored in
+ the Thread class. That allows us to reliably implement a very natural model for
+ users moving through a debug session. For example, if step-over stops at a breakpoint
+ in an function in a younger region of the stack, continue will complete the step-over
+ rather than having to manually step out. But that means that it is important that
+ the Thread objects live as long as the Threads they represent. For programs with many
+ threads, but only one that you are debugging, that makes stepping less efficient,
+ since now you have to fetch the thread list on every step or stepping doesn't work
+ correctly. This is especially an issue when the threads are provided by an
+ Operating System plugin, where it may take non-trivial work to reconstruct the
+ thread list. It would be better to fetch threads lazily but keep "unseen" threads in
+ a holding area, and only retire them when we know we've fetched the whole thread list
+ and ensured they are no longer alive.
+ </p>
+ </li>
+ <li>
Add an extension point in the breakpoint search machinery.
<p>
This would allow highly customizable, algorithmic breakpoint types, like "break on every
More information about the lldb-commits
mailing list