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

Turn on frame pointer elimination #7477

Closed
brson opened this issue Jun 29, 2013 · 4 comments
Closed

Turn on frame pointer elimination #7477

brson opened this issue Jun 29, 2013 · 4 comments
Labels
A-codegen Area: Code generation A-runtime Area: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows I-slow Issue: Problems and improvements with respect to performance of generated code.

Comments

@brson
Copy link
Contributor

brson commented Jun 29, 2013

We currently build C++ code and Rust with frame pointers on, though we don't actually use them for anything (intended for GC). This is overhead that C and C++ don't usually have so it would be nice to turn on elimination.

@graydon
Copy link
Contributor

graydon commented Jun 29, 2013

I think we'll need them for gc, fwiw

@thestinger
Copy link
Contributor

@graydon: on Linux x86_64 we should be using the DWARFv3 Call Frame Information for walking the stack, although I have no idea if we're emitting it correctly right now (likely on OS X and FreeBSD too). We might be, because gdb uses it and seems to work.

@brson
Copy link
Contributor Author

brson commented Jun 29, 2013

We'll leave it off until we have solutions for GC, which will probably end up being platform specific. libunwind should make it easy on linux and freebsd.

bors added a commit that referenced this issue Aug 23, 2013
We currently have no need for the frame pointers on any platform. They
may eventually be needed on platforms without an equivalent to the DWARF
call frame information to walk the stack in the garbage collector.

Closes #7477
@brson brson reopened this Aug 29, 2013
@brson
Copy link
Contributor Author

brson commented Aug 29, 2013

Reopening because this caused a regression in #8833, so reverted in #8838

flip1995 pushed a commit to flip1995/rust that referenced this issue Jul 29, 2021
Enhance needless continue to detect loop {continue;}

Fixes rust-lang#7417

changelog: Report [`needless_continue`] in `loop { continue; }` case
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-codegen Area: Code generation A-runtime Area: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows I-slow Issue: Problems and improvements with respect to performance of generated code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants