rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
98.59k stars 12.74k forks source link

Tracking Issue for `extern "rust-cold"` ABI (feature `rust_cold_cc`) #97544

Open scottmcm opened 2 years ago

scottmcm commented 2 years ago

This is a tracking issue for the experimental extern "rust-cold" ABI. The feature gate for the issue is #![feature(rust_cold_cc)].

This allows emitting functions with coldcc in LLVM and CallConv::Cold in cranelift. These are more aggressive than the stable #[cold], as they can use a different calling convention (and thus have incompatible fns), not just affect branch weights -- for example, they might require more/slower code in the callee in exchange for smaller call sites.

About tracking issues

Tracking issues are used to record the overall progress of implementation. They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions. A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature. Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.

Steps

Unresolved Questions

Implementation history

reinerp commented 1 year ago

I'm very excited about this, thank you for your work on this!

Couple comments: