Using 1.36.5 emscripten.
em++ -O3 -s TOTAL_MEMORY=201326592 -s ALIASING_FUNCTION_POINTERS=0 -s BINARYEN=1 -s 'BINARYEN_METHOD="native-wasm"' -s 'BINARYEN_SCRIPTS="spidermonkify.py"' -s GLOBAL_BASE=1000 -s ALIASING_FUNCTION_POINTERS=0
Updating JS-shell used for compilation and recompiling wasm did not same to change any behavior in both the browsers (latest Firefox Nightly and Chrome Canary)
Then I Updated binaryen used for compilation and recompiled binaryen and wasm -
Chrome Canary also started showing the error(on updating binaryen !) - out-of-bounds memory access.
Firefox Nightly showed the same error for native wasm method. I tried interpret-binary fallback and changed total memory to 128mb. Got following console output
trying binaryen method: native-wasm
failed to compile wasm module: TypeError wasm error: compile error at offset 10051: too many table elements
trying binaryen method: interpret-binary
wasm trap: highest > memory: 134217728 > 134217724
-s SAFE_HEAP =1 test is green in asm.js build
Changing total memory allocation in wasm build does not help
My initial thought is that some "new C++ application source code" is causing emscripten to generate WASM which firefox js engine parse as invalid.
This "new C++ application source code" when compiled with older binaryen works fine on chrome.
And older builds (with older application source code and older binaryen) continue to work well in both the browsers today.
Is there any wasm-validator tool or tool from which I can map wasm offset/s-expression-functions to C source code/function names ?