• Arnaud Robin's avatar
    [wasm] Implement dynamic tiering in wasm · f181dff3
    Arnaud Robin authored
    On desktop systems, we use a very basic tiering strategy: Everything is
    initially compiled with Liftoff, and once that is done, the module can
    start being used. Concurrently to the execution, we re-compile all code
    with TurboFan, and hot-swap each function once TurboFan finishes.
    
    We should start using a more dynamic strategy where each function is
    tiered-up when judged necessary. This change will then tier-up each
    liftoff function once it has been called 5 times.
    
    I then added a counter in the native module, that is updated directly
    from Liftoff code, and a runtime call is then made when the counter
    reaches the goal.
    
    R=clemensb@chromium.org
    CC=​thibaudm@chromium.org
    
    Bug: v8:10728
    Change-Id: I8dc2b02fdff8d97781bb1cf496886594b3d7f644
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2306803
    Commit-Queue: Arnaud Robin <arobin@google.com>
    Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#68971}
    f181dff3
Name
Last commit
Last update
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...
.flake8 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...
DEPS Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_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...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...