-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make unwinding more efficient #909
Comments
I've done some work on this, so the current situation isn't so dire. Ideally we would have zero or one landing pad per scope, and the landing pads would just run their own scope's cleanups then phi into those of the outer scope. |
They must not always jump to the cleanup of the outer scope — break and cont may cause some block cleanups to run, and then continue executing code. |
Related to #300 |
Also related (maybe obsoleted) by issue #2361. |
* add tracing * add conditioning * add dynamic interface support * add tests
New regression test that shows unit testing, property-based testing and Kani
We generate much more unwind code than is necessary, the full set of in-scope cleanups for every single function call. This could be more efficient by reusing landing pads and chaining scope unwind cleanup blocks together. Ideally we would have zero or one unwind block per scope.
The text was updated successfully, but these errors were encountered: