• Andreas Haas's avatar
    [wasm][anyref] Cache export wrappers per signature · d56ee2e3
    Andreas Haas authored
    Up until now, we cached export wrappers per export index. With the
    anyref proposal potentially many more functions will need export
    wrappers, e.g. any function that is stored in a table, and any
    function accessed by the new ref.func instruction.
    
    With this CL, we change the caching scheme an do the caching per
    signature. Thereby we can guarantee that any export wrapper which
    potentially exists can be stored in the cache.
    
    For cctests which use wasm-run-utils, we don't know the size of the
    cache anymore ahead of time. However, we assume that no more than
    5 signatures will be used in any cctest. If this assumption is not
    true, we can just adjust the number.
    
    The cache is now accessed in all code paths where we need an export
    wrapper.
    
    Bug: chromium:962850
    
    Change-Id: I32df60dfa7801d1e71f7d837da091f388198af1f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615247
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#61752}
    d56ee2e3
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...