• Clemens Hammacher's avatar
    [wasm] Only emit StackCheck if function might call · 13f0ef5b
    Clemens Hammacher authored
    For functions without any calls, there is no value in executing a stack
    check. The current frame is materialized at that point anyway.
    Note that for loops, we still emit additional stack checks in the loop
    header.
    
    For unity, the reduction in code size is moderate (0.53%), as only 4000
    of the 34000 functions are leaf functions (no calls). However, we also
    save some compile time and gain performance, so this is still worth
    doing it.
    
    Drive-by: Fix the effect chain generated in {StackCheck()}.
    
    R=mstarzinger@chromium.org, ahaas@chromium.org
    
    Change-Id: Ia6ec58d0ea46de02634c923cdf8e6e08d8902c59
    Reviewed-on: https://chromium-review.googlesource.com/533333Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46013}
    13f0ef5b
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...