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

Consider changing the Rust ABI back to fastcall #1835

Closed
brson opened this issue Feb 13, 2012 · 3 comments
Closed

Consider changing the Rust ABI back to fastcall #1835

brson opened this issue Feb 13, 2012 · 3 comments
Labels
A-codegen Area: Code generation I-slow Issue: Problems and improvements with respect to performance of generated code.

Comments

@brson
Copy link
Contributor

brson commented Feb 13, 2012

We originally switched to CDECL because of concerns that the stack growth check was going to require more registers than were available under the fastcall convention. It turns out that LLVM optimizes unexported functions to fastcall (and disabling that behavior is not straightforward) so we had to support stack growth with fastcall anyway. The only time we actually have to spill the stack growth check onto the stack is on i386 OS X where the fastcall frame size is greater than 256 bytes. Not using fastcall because of that is potentially a big price to pay.

@ghost ghost assigned brson Apr 12, 2012
@metajack
Copy link
Contributor

@brson is this still relevant?

@thestinger
Copy link
Contributor

@metajack: yes, we're still using cdecl

@catamorphism
Copy link
Contributor

Wontfix

Kobzol pushed a commit to Kobzol/rust that referenced this issue Dec 30, 2024
bors pushed a commit to rust-lang-ci/rust that referenced this issue Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-codegen Area: Code generation I-slow Issue: Problems and improvements with respect to performance of generated code.
Projects
None yet
Development

No branches or pull requests

4 participants