-
Notifications
You must be signed in to change notification settings - Fork 3.4k
ASYNCIFY doesn't work with WASM_BIGINT #17969
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
Comments
Even though this issue is not specific to |
The solution I'm looking at is to record not just the function name but also its signature This is another example of how difficult it is that the wasm bigint integration doesn't cooerce undefined to a zero i64 automatically. I wonder if its worth pushing back on that on the wasm bigint integration spec: WebAssembly/JS-BigInt-integration#12 |
The emscripten side is a little tricky but I've got some tests passing. Currently blocked on: emscripten-core/emscripten#17969
I'm not sure, but storing all the call arguments might be simpler, I suspect. We have wrappers anyhow for all exports, so we could make those exports stash a copy of |
The emscripten side is a little tricky but I've got some tests passing. Currently blocked on: emscripten-core/emscripten#17969
The emscripten side is a little tricky but I've got some tests passing. Currently blocked on: emscripten-core/emscripten#17969
The emscripten side is a little tricky but I've got some tests passing. Currently blocked on: emscripten-core/emscripten#17969
The emscripten side is a little tricky but I've got some tests passing. Currently blocked on: emscripten-core/emscripten#17969
The emscripten side is a little tricky but I've got some tests passing. Currently blocked on: emscripten-core/emscripten#17969
Fixed in #19913 |
When asyncify does its
doRewind
it calls back into the original entry point without passing any argument at all:emscripten/src/library_async.js
Line 306 in f6c4657
If the original function takes and i64 argument and
WASM_BIGINT
is enabled this call will always fail with:TypeError: Cannot convert undefined to a BigInt
For example the following test currently fails:
Normally this is not a huge deal because maybe not many folks use
WASM_BIGINT
and have entry points that take i64. However with MEMORY64 its very common becauseWASM_BIGINT
is always enabled and all pointer arguments are i64.The text was updated successfully, but these errors were encountered: