• Clemens Hammacher's avatar
    [compiler] Allow for interfaces without context · e9d728d0
    Clemens Hammacher authored
    Especially in wasm, many builtins don't actually need a context
    parameter. We currently pass Smi::kZero instead. This CL allows to
    generate a CallDescriptor for calling stubs without passing a context,
    resulting in reduced compile time and code size, and increased
    performance when executing these builtins.
    
    We were calling the ThrowWasm* functions without passing a context
    anyway (directly from code-generator-<arch>.h). With this change, we
    will also call the StackCheck builtin without passing a (null) context.
    This saves two bytes of code in each function plus each loop, and also
    slightly reduces compile time (very noisy, but statistically
    significant).
    
    Drive-by: Use NoContextConstant instead of SmiConstant(Smi::kZero).
    
    R=mstarzinger@chromium.org, ahaas@chromium.org
    
    Change-Id: If794cc4c262a9cca8d29a68010803c01a2eef4a3
    Reviewed-on: https://chromium-review.googlesource.com/541423Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46044}
    e9d728d0
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...