Tracking Issue for extern "rust-cold"
ABI (feature rust_cold_cc
)
#97544
Labels
A-ABI
Area: Concerning the application binary interface (ABI)
C-tracking-issue
Category: A tracking issue for an RFC or an unstable feature.
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 andCallConv::Cold
in cranelift. These are more aggressive than the stable#[cold]
, as they can use a different calling convention (and thus have incompatiblefn
s), 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
preserve_mostcc
forextern "rust-cold"
#115260 (comment)coldcc
,preservemost_cc
, or something else in LLVM?clang::preserve_most
but nothing named "cold", FWIW: https://clang.llvm.org/docs/AttributeReference.html#calling-conventionsImplementation history
coldcc
to LLVM #97512coldcc
Usepreserve_mostcc
forextern "rust-cold"
#115260extern "C"
improper ctypes lint, since this is a Rust ABIThe text was updated successfully, but these errors were encountered: