Skip to content
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

Closed
brson opened this issue Sep 12, 2011 · 5 comments
Closed

Make unwinding more efficient #909

brson opened this issue Sep 12, 2011 · 5 comments
Assignees
Labels
I-slow Issue: Problems and improvements with respect to performance of generated code.

Comments

@brson
Copy link
Contributor

brson commented Sep 12, 2011

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.

@brson
Copy link
Contributor Author

brson commented Sep 14, 2011

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.

@marijnh
Copy link
Contributor

marijnh commented Sep 14, 2011

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.

@brson
Copy link
Contributor Author

brson commented Oct 13, 2011

Related to #300

@ghost ghost assigned brson Mar 15, 2012
@pcwalton
Copy link
Contributor

Also related (maybe obsoleted) by issue #2361.

@catamorphism
Copy link
Contributor

@brson confirmed that #2361 supersedes this.

bors pushed a commit to rust-lang-ci/rust that referenced this issue Oct 26, 2020
ZuseZ4 pushed a commit to EnzymeAD/rust that referenced this issue Mar 7, 2023
* add tracing

* add conditioning

* add dynamic interface support

* add tests
celinval pushed a commit to celinval/rust-dev that referenced this issue Jun 4, 2024
New regression test that shows unit testing, property-based testing and Kani
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-slow Issue: Problems and improvements with respect to performance of generated code.
Projects
None yet
Development

No branches or pull requests

4 participants