-
-
Notifications
You must be signed in to change notification settings - Fork 671
Update to latest Binaryen & introduce anyref #800
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
Conversation
The respective test case now also showcases a bit how working with As far as I can tell we are still missing
to make this more convenient. Also, without a way to initialize |
What a time to be alive! |
Hey. It seems this more complex PR than just update binaryen 😃 Probably better rename it? And also create another PR with updated to latest binaryen and new dist files because WebAssembly Studio currently broken |
I guess TODO point (with WebAssembly/binaryen#2317) could be already checked) |
wdyt bump version to |
After merge this PR, sin/cos, improved |
Sure, why not. This PR should be good now even with WebAssembly/binaryen#2336 not yet landed (utilizes a constant as a workaround until then). |
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.
LGTM
This PR moves us to the bleeding edge again by integrating new shiny Binaryen features. In particular:
Preliminary support for
anyref
as an opague type behind the--enable reference-types
flag.Still misses checks all over the place to distinguish between an internal (integer) reference and an external (anyref) reference, butpasses a simple test for declaringanyref
parameters and return types and passing them around. Don't get too excited yet.The
atomic.fence
instructionVarious flags for features the compiler doesn't utilize yet, like nontrapping float to int, exception handling and tail calls.
Bindings for the
try
,throw
,rethrow
,br_on_exn
family of instructions.Event API to declare exception events.
Bindings for the
push
andpop
instructions.Bindings for the
return_call
andreturn_call_indirect
instructions.Bindings for the new qfma/qfms SIMD instructions.
Proper ids of the nontrapping float to int instructions.
Some early bindings for
Reflect
andconsole
to showcase the concept of working withanyref
.A mechanism to run code pre and post instantiation in tests, e.g. to populate imports
Updated tests for the various feature flags