Just wanted to point you guys to https://github.com/bytecodealliance/cranelift/issues/1366 .
Cranelift fails to save/restore the XMM registers as the Windows x64 calling convention requires, so the host can suffer corruption of floating point variables (or even other variables if the compiler does certain optimizations).
So if you've ever seen mysterious corruption issues on Windows, this might be it...
Thanks for the heads-up!
Cranelift maintainers are working on a fix, https://github.com/bytecodealliance/cranelift/pull/1378 (moved to bytecodealliance/wasmtime#1216 )
The cranelift codebase has now moved into the wasmtime repo. Not sure what that means, they don't seem to have transferred the pull requests...
Actually it seems to be fine.
The PR has now been moved to here: https://github.com/bytecodealliance/wasmtime/pull/1216
Justification is here: https://github.com/bytecodealliance/wasmtime/issues/1185#issuecomment-591050388
The upstream fix is merged finally! https://github.com/bytecodealliance/wasmtime/pull/1216
Awesome. We upgraded to latest cranelift in the refactor. We should be able to close this issue once it lands in master
The refactor has now landed in master, and the cranelift issue should be now solved (since we are using the latest one).
Closing the issue
Most helpful comment
Cranelift maintainers are working on a fix, https://github.com/bytecodealliance/cranelift/pull/1378 (moved to bytecodealliance/wasmtime#1216 )