Francis McCabe
Francis McCabe
This: wasmExports['%jsPrintSomething'] = new WebAssembly.Suspending(wasmExports['%jsPrintSomething']); should cause an exception. Because new WebAssembly.Suspending is expecting a JS function, not a WebAssembly function.
This: JS->mainPromisingWrapper->mainInPrimaryWasm->fooInSecondaryWasm->sleepSuspendingWrapper->sleepInJs is what we expect to work.
There is a third option: 3. Wrap functions that are exported in a JS lambda: WebAssembly.Suspending((X)=>wasmExport(X)) That will force the function argument to Suspending to be JS. And it would...
Part of this is simplicity of specification. The Suspending spec is written to only take JS functions as arguments. This was 'part of the bargain' when the JSPI was simplified...
@dead-claudia Opcodes 0xe0-0xe5 are being used for wasmfx/core stack switching.
F0-F7 Seem to be clear at the moment. At least, they are not being using in V8. This is not a comment on the viability of the suggestion itself.
IIRC, negative type indices are reserved for 'standard' tyoes. While at the moment we don't have any standard continuation types, I think it is prudent to not shut out that...
Sounds good to me.
This does not appear to address my concern. In particular, I believe that it should be possible to pass a JS exception value to wasm, and have the wasm throw...
I don't see the connection between CFI strategies (thanks for the link) and newtype. As for CFI, this has been viewed as being important, but not part of wasm per...