diff options
author | Alon Zakai <azakai@google.com> | 2020-03-31 15:20:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-31 15:20:50 -0700 |
commit | a32102c7dd7b321330c6cce4d0e3b16e7187a007 (patch) | |
tree | a704cc3a77fca9fbde7a2e05de4f2b0d2980a39f /test/lld/shared_add_to_table.wasm | |
parent | d8179402b3bb991f336b19bcca8ccbc60c842166 (diff) | |
download | binaryen-a32102c7dd7b321330c6cce4d0e3b16e7187a007.tar.gz binaryen-a32102c7dd7b321330c6cce4d0e3b16e7187a007.tar.bz2 binaryen-a32102c7dd7b321330c6cce4d0e3b16e7187a007.zip |
Avoid unnecessary fp$ in side modules (#2717)
Now that we update the dylink section properly, we can
do the same optimization in side modules as in main ones:
if the module provides a function, don't call an $fp method
during startup, instead add it to the table ourselves and use
the relative offset to the table base.
Fix an issue when the table has no segments initially: the
code just added an offset of 0, but that's not right. Instead,
an a __table_base import and use that as the offset. As
this is ABI-specific I did it on wasm-emscripten-finalize,
leaving TableUtils to just assert on having a singleton
segment.
Add a test of a wasm file with a dylink section to the lld tests.
Diffstat (limited to 'test/lld/shared_add_to_table.wasm')
-rw-r--r-- | test/lld/shared_add_to_table.wasm | bin | 0 -> 810 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/test/lld/shared_add_to_table.wasm b/test/lld/shared_add_to_table.wasm Binary files differnew file mode 100644 index 000000000..00ea9f906 --- /dev/null +++ b/test/lld/shared_add_to_table.wasm |