-
-
Notifications
You must be signed in to change notification settings - Fork 670
Update Binaryen #1700
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Binaryen #1700
Conversation
Some notes I made so I don't forget // Features (WebAssembly/binaryen#3603)
SIMD constants// Unary
// Binary
// SIMDTernary
// SIMDLoad
// SIMDLoadStoreLane
// SIMDWiden
// Prefetch (obsolete)
// RefAs (WebAssembly/binaryen#3628)
// BrOn
// RefIs (WebAssembly/binaryen#3605)
// I31New
// I31Get
// Table (WebAssembly/binaryen#3604)
Turns out that most of the Unary/Binary/SIMD constants fall under SIMD, and have TODO comments in Binaryen. While I found the implementation status document meanwhile, I'll wait a bit on these so I don't accidentally get into the way. |
Seems it still slower on 1.7 times for binaryen's optimization compared with v98. Could we create issue about this in Binaryen repo? |
I haven't investigated the slowdown myself, so I guess you have more information on it than I have. Could you make one? :) |
Impressive work. How to do implement such migration? Updating the lib version and seeing what fails? |
My process there is typically:
|
Interesting, thank you, that's really a nice update process. |
I'm wondering may be this WebAssembly/binaryen#3609 fix issue with not always de-dupllicate functions? |
Going to check once we have a build :) |
@MaxGraey it would be great if you could file a Binaryen issue for the slowdown. |
Seems the fixtures didn't change |
Making myself a handy list of SIMD instructions so I don't forget to check one // Memory
// Basic
// Splat
// Lane
// Cmp
// v128
// Load lane
// Float conversion
// iAxB
// fAxB
// Conversion
TODO
|
I guess this one is fine to go now, given that the remaining constants and bindings are missing, we don't have a cast story for GC types yet, so I'll have to look into this again anyhow. The lists above should be useful then. |
@dcodeIO Thanks for this excellent job! I'll check little bit later. But I'm would like report about slowdown issue of binaryen. Try to bisect version when this happened |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I saw couple missed pieces for ref_is / ref_as. I guess this still not implemented on binaryen?
LGTM.
Right, we cannot yet make proper use of these without an initial implementation of Wasm GC, but it's good to keep the bindings up to date already so everything's there once we can :) |
As usual, this gets us up to date with the latest changes in Binaryen. Quite a bit of chaos here with missing C-APIs that may be good to tackle.