alexcrichton opened PR #3190 from less-nan
to main
:
This came up over the weekend where the spec interpreter and Wasmtime
were differing on the result of a wasm program, but the difference came
down to how nan bits are represented. Because Wasmtime was forcibly
canonicalizing nan representations it created a mismatch in the results
of the interpreter and not. While permissible by the spec this hinders
fuzzing, so this commit attempts to address this to ensure that the spec
interpreter produces the same NaN values as Wasmtime does (and vice
versa).NaN canonicalization was enabled for fuzzing in #1334 which tracks back
to #1332 and a desire for more determinism when fuzzing. I believe,
though, that NaN bits are always deterministic within one machine,
they're just "nondeterministic" across machines (although I think in
practice all cpus produce the same nan bits?) In any case I don't think
that canonicalization is required for the fuzzers and disabling it helps
us align with what the spec interpreter is doing as well.<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
alexcrichton requested fitzgen for a review on PR #3190.
alexcrichton closed without merge PR #3190.
Last updated: Nov 22 2024 at 16:03 UTC