Author: jingham Date: Tue Feb 26 11:18:09 2019 New Revision: 354914 URL: http://llvm.org/viewvc/llvm-project?rev=354914&view=rev Log: Mention predicting exception catch at throw site
Modified: lldb/trunk/docs/status/projects.rst lldb/trunk/www/projects.html Modified: lldb/trunk/docs/status/projects.rst URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/docs/status/projects.rst?rev=354914&r1=354913&r2=354914&view=diff ============================================================================== --- lldb/trunk/docs/status/projects.rst (original) +++ lldb/trunk/docs/status/projects.rst Tue Feb 26 11:18:09 2019 @@ -394,3 +394,24 @@ remote memory and its function calling s useful to unify these and make the IR interpreter -- both for LLVM and LLDB -- better. An alternate strategy would be simply to JIT into the current process but have callbacks for non-stack memory access. + +Teach lldb to predict exception propagation at the throw site +------------------------------------------------------------- + +There are a bunch of places in lldb where we need to know at the point where an +exception is thrown, what frame will catch the exception. + +For instance, if an expression throws an exception, we need to know whether the +exception will be caught in the course of the expression evaluation. If so it +would be safe to let the expression continue. But since we would destroy the +state of the thread if we let the exception escape the expression, we currently +stop the expression evaluation if we see a throw. If we knew where it would be +caught we could distinguish these two cases. + +Similarly, when you step over a call that throws, you want to stop at the throw +point if you know the exception will unwind past the frame you were stepping in, +but it would annoying to have the step abort every time an exception was thrown. +If we could predict the catching frame, we could do this right. + +And of course, this would be a useful piece of information to display when stopped +at a throw point. Modified: lldb/trunk/www/projects.html URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/www/projects.html?rev=354914&r1=354913&r2=354914&view=diff ============================================================================== --- lldb/trunk/www/projects.html (original) +++ lldb/trunk/www/projects.html Tue Feb 26 11:18:09 2019 @@ -467,6 +467,32 @@ access. </p> </li> + <li> + Teach lldb to predict exception propagation at the throw site + + <p> + There are a bunch of places in lldb where we need to know at the point where an + exception is thrown, what frame will catch the exception. + </p> + <p> + For instance, if an expression throws an exception, we need to know whether the + exception will be caught in the course of the expression evaluation. If so it + would be safe to let the expression continue. But since we would destroy the + state of the thread if we let the exception escape the expression, we currently + stop the expression evaluation if we see a throw. If we knew where it would be + caught we could distinguish these two cases. + </p> + <p> + Similarly, when you step over a call that throws, you want to stop at the throw + point if you know the exception will unwind past the frame you were stepping in, + but it would annoying to have the step abort every time an exception was thrown. + If we could predict the catching frame, we could do this right. + </p> + <p> + And of course, this would be a useful piece of information to display when stopped + at a throw point. + </p> + </li> </ol> </div> <div class="postfooter"></div> _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits