• Andreas Haas's avatar
    [wasm][anyref] Implement sub-typing of anyref, anyfunc, and nullref · 5d587693
    Andreas Haas authored
    For the reference types anyref, anyfunc, and nullref, there exist
    sub-typing rules. The spec says
    
    A reference type reftype1 matches a reference type reftype2 if and only
    if:
    
    * Either both reftype1 and reftype2 are the same.
    * Or reftype1 is nullref.
    * Or reftype2 is anyref.
    
    This CL introduces the type nullref for ref-null, and implements the
    sub-typing rules in the function-body-decoder.
    
    Note that because of the sub-typing check validation performance may
    regresses. In that case we can optimize the sub-typing check.
    
    R=titzer@chromium.org, clemensh@chromium.org
    
    Bug: v8:7581
    Change-Id: I55bab72a109f3374da3770d141b0fc8067aad8b2
    Reviewed-on: https://chromium-review.googlesource.com/c/1430061
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59043}
    5d587693
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...
ChangeLog Loading commit data...
DEPS 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...
snapshot_toolchain.gni Loading commit data...