WebAssembly / component-model

Repository for design and specification of the Component Model
Other
914 stars 78 forks source link

Don't force deterministic NaN canonicalization #260

Closed lukewagner closed 9 months ago

lukewagner commented 10 months ago

After revisiting this design choice in #247, this PR changes the Canonical ABI to not force canonicalization of NaNs, so that hosts can just use the raw f32/f64 bit-patterns. Because some languages and host implementation techniques (especially JS, both as host and as guest) will inevitably end up doing some amount of NaN-canonicalization, this PR explicitly includes this allowed non-determinism in the Canonical ABI lifting and lowering routines.