• Clemens Hammacher's avatar
    [wasm] [interpreter] Fix fall-through loop with value · 66f69540
    Clemens Hammacher authored
    Executing the |end| opcode of a loop assumed that the stack height was
    being reset to the height at start of the loop. Hence we were ignoring
    the arity of the loop.
    During computation of the side table, the arity of the label associated
    with the loop was explicitly set to 0, such that a |br| instruction to
    that label would not transfer any values.
    It turns out though that we need to remember the arity in order to
    precompute the correct stack height when executing the |end| opcode of
    a loop.
    Also, add a regression test.
    
    R=rossberg@chromium.org
    BUG=chromium:716936
    
    Change-Id: Ib3a559998f1ce5f8fcd7b94af1426637b3e48f86
    Reviewed-on: https://chromium-review.googlesource.com/493286
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarAndreas Rossberg <rossberg@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#45041}
    66f69540
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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...
.gitignore Loading commit data...
.gn 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...
Makefile Loading commit data...
Makefile.android 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...