Skip to content

librustc: Implement #[disable_unwinding] and use it in librustc to avoid falling off FastISel so much #4356

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

Closed
wants to merge 2 commits into from

Conversation

pcwalton
Copy link
Contributor

@pcwalton pcwalton commented Jan 5, 2013

This is a 1.9x speedup in LLVM passes for unoptimized builds.

r? @graydon

@graydon
Copy link
Contributor

graydon commented Jan 7, 2013

Hm. Maybe! A few questions:

  • Is it intentional that this rolls in the work in librustc: Make unqualified identifier searches terminate at the nearest ... #4345 ? Last time I tested that it broke the testsuite. In any case, seems plausibly unintentional in this pull req.
  • I don't quite get the difference between begin_unwind and begin_unwind_ ,and why both call raise here.
  • Won't this iloop if there's no handler, as a missing handler calls fail, which translates as a call to begin_unwind, no?
  • It should probably be called disable_unwind_dtors or something, no? I mean, it is still very much unwinding, in terms of control-flow; just not running dtors while it unwinds (until it gets to the catch in the runtime).

@pcwalton
Copy link
Contributor Author

pcwalton commented Jan 7, 2013

@graydon
Copy link
Contributor

graydon commented Jan 8, 2013

ok. r+ otherwise.

@catamorphism
Copy link
Contributor

@pcwalton - This needs a rebase as well.

@catamorphism
Copy link
Contributor

Closing old PRs.

bors pushed a commit to rust-lang-ci/rust that referenced this pull request May 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants