tree c585377fb842da0c4b87657f5047272196af9e6c
parent 0008b795d11d65d0759c3c0a71ee74b536f1ecf8
author Alon Zakai <alonzakai@gmail.com> 1520958578 -0700
committer GitHub <noreply@github.com> 1520958578 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJap/xyCRBK7hj4Ov3rIwAAdHIIAB5MgVC0ZcXiAZ4YT5cVOIw1
 +6pJTH9QH8GtopALwPAZs3+9tduGdbXChCm+TWfs+EWXFIQ5JRhDvIuQVzS/002P
 L70TdjFInTZ0G/Z5oVjcdYlUDERIJQ8UrnFuPMvJ1UIeksVHgbuCdGRdAEDWfm8q
 Hp6+v1ocqs+m6N88f1GjrAHnMw6mo5moXtqmMbOvHEpRohevBUDbCeMlQWdUvgEX
 zM5/F4KNQEYS3dsEnxDpmi8YYOaLlCuNidiOqedljOM1ofhORvQkqNbsLXt8mJ/G
 9o6+CY3AwdC5FZxIqMxXZNvE7ZpxYgJqgQHPvpUReCoP7aXnWoXMovMKty0nenY=
 =G2eJ
 -----END PGP SIGNATURE-----
 

Function pointer cast emulation (#1468)

This adds a pass that implements "function pointer cast emulation" - allows indirect calls to go through even if the number of arguments or their types is incorrect. That is undefined behavior in C/C++ but in practice somehow works in native archs. It is even relied upon in e.g. Python.

Emscripten already has such emulation for asm.js, which also worked for asm2wasm. This implements something like it in binaryen which also allows the wasm backend to use it. As a result, Python should now be portable using the wasm backend.

The mechanism used for the emulation is to make all indirect calls use a fixed number of arguments, all of type i64, and a return type of also i64. Thunks are then placed in the table which translate the arguments properly for the target, basically by reinterpreting to i64 and back. As a result, receiving an i64 when an i32 is sent will have the upper bits all zero, and the reverse would truncate the upper bits, etc. (Note that this is different than emscripten's existing emulation, which converts (as signed) to a double. That makes sense for JS where double's can contain all numeric values, but in wasm we have i64s. Also, bitwise conversion may be more like what native archs do anyhow. It is enough for Python.)

Also adds validation for a function's type matching the function's actual params and result (surprised we didn't have that before, but we didn't, and there was even a place in the test suite where that was wrong).

Also simplifies the build script by moving two cpp files into the wasm/ subdir, so they can be built once and shared between the various tools.