Are there methods to optimize these calls out of wasm (change code or use compiler options or add to webassembly)
(1) f64 to int - there is pattern (promote f64, and call 50 - f64 to int outside wasm) - BINARYEN imprecise option is removed. I see this is the only asm-wasm imports getting called in my application.
I am using default trap mode(not specifying anything).BINARYEN_IMPRECISE is not present in new toolchain versions.
(2) emscriptenmemcpy_big with 32768 bytes - is it some performance technique or necessary evil ?
(3) clock_get_time - perhaps there is no wasm instructions for this.
Chrome devtools profiler does not seem to profile inside wasm for performance(it just shows it as a monolithic blackbox) - only calls out to js are shown. Same with JS profiler tabs (although debugger is able to disassemble wasm).
Has FF nightly started WASM debugging and profiling now ?
I remember seeing a snapshot of profiler with fast trampoline (calls from wasm to asm.js are shown) somewhere.
(4) Shadow stack - If application is taking address of local variable, wasm size can increase due to shadowing. Does it mean that even if I take address of a local variable in just one function, the application will always maintain the shadow stack ? Or does it increase proportionally with such instances ?
How can I spot such pattern in my application ?
Thanks