I've been trying to add an externref to emscripten here:
emscripten-core/emscripten#26964
And its failing with: Fatal: Asyncify does not yet support non-number types, like references (see #3739).
Rather than push to land the fix to #3739, I think my particulur use case might be fixed by resolving this TODO in Asyncify:
|
// The relevant live locals are ones that are alive at an unwind/rewind |
|
// location. TODO look more precisely inside basic blocks, as one might stop |
|
// being live in the middle |
The externref I'm using is not live after the call to the suspending function, so it should not need to be saved or restored.
How hard would it be to fix that TODO? Presumably it would make Asyncify in general more efficient?
I've been trying to add an externref to emscripten here:
emscripten-core/emscripten#26964
And its failing with: Fatal: Asyncify does not yet support non-number types, like references (see #3739).
Rather than push to land the fix to #3739, I think my particulur use case might be fixed by resolving this TODO in Asyncify:
binaryen/src/passes/Asyncify.cpp
Lines 1597 to 1599 in 3029fbb
The externref I'm using is not live after the call to the suspending function, so it should not need to be saved or restored.
How hard would it be to fix that TODO? Presumably it would make Asyncify in general more efficient?