Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

WIP: Add optional NaN canonicalization #1236

Draft
wants to merge 21 commits into
base: main
Choose a base branch
from
Draft

Conversation

Robbepop
Copy link
Member

@Robbepop Robbepop commented Oct 14, 2024

Closes #19.

Implements design detailed here: #19 (comment)

NaN canonicalization allows to execute Wasm with floating point operations deterministically.

ToDo

  • Tests
  • Benchmarks
  • NaN propagation in the Wasmi translator.
  • Conclusion if we really want to add this feature.

Copy link

codecov bot commented Oct 14, 2024

Codecov Report

Attention: Patch coverage is 20.25316% with 189 lines in your changes missing coverage. Please review.

Project coverage is 81.29%. Comparing base (575b608) to head (6a726a4).

Files with missing lines Patch % Lines
crates/wasmi/src/engine/translator/visit.rs 32.81% 86 Missing ⚠️
crates/core/src/untyped.rs 1.96% 50 Missing ⚠️
crates/wasmi/src/engine/executor/instrs.rs 0.00% 40 Missing ⚠️
crates/core/src/value.rs 0.00% 6 Missing ⚠️
crates/wasmi/src/engine/executor/instrs/binary.rs 0.00% 4 Missing ⚠️
crates/wasmi/src/engine/config.rs 40.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1236      +/-   ##
==========================================
- Coverage   81.74%   81.29%   -0.46%     
==========================================
  Files         304      304              
  Lines       25137    25327     +190     
==========================================
+ Hits        20549    20590      +41     
- Misses       4588     4737     +149     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement optional NaN canonicalization mode
1 participant