Windows FPRs preservation (#1216)
Preserve FPRs as required by the Windows fastcall calling convention. This exposes an implementation limit due to Cranelift's approach to stack layout, which conflicts with expectations Windows makes in SEH layout - functions where the Cranelift user desires fastcall unwind information, that require preservation of an ABI-reserved FPR, that have a stack frame 240 bytes or larger, now produce an error when compiled. Several wasm spectests were disabled because they would trip this limit. This is a temporary constraint that should be fixed promptly. Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
This commit is contained in:
@@ -398,8 +398,9 @@ pub trait TargetIsa: fmt::Display + Send + Sync {
|
||||
_func: &ir::Function,
|
||||
_kind: binemit::FrameUnwindKind,
|
||||
_sink: &mut dyn binemit::FrameUnwindSink,
|
||||
) {
|
||||
) -> CodegenResult<()> {
|
||||
// No-op by default
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user