• 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
..
OWNERS Loading commit data...
runtime-array.cc Loading commit data...
runtime-atomics.cc Loading commit data...
runtime-bigint.cc Loading commit data...
runtime-classes.cc Loading commit data...
runtime-collections.cc Loading commit data...
runtime-compiler.cc Loading commit data...
runtime-date.cc Loading commit data...
runtime-debug.cc Loading commit data...
runtime-forin.cc Loading commit data...
runtime-function.cc Loading commit data...
runtime-futex.cc Loading commit data...
runtime-generator.cc Loading commit data...
runtime-internal.cc Loading commit data...
runtime-interpreter.cc Loading commit data...
runtime-intl.cc Loading commit data...
runtime-literals.cc Loading commit data...
runtime-module.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.cc Loading commit data...
runtime-operators.cc Loading commit data...
runtime-promise.cc Loading commit data...
runtime-proxy.cc Loading commit data...
runtime-regexp.cc Loading commit data...
runtime-scopes.cc Loading commit data...
runtime-strings.cc Loading commit data...
runtime-symbol.cc Loading commit data...
runtime-test.cc Loading commit data...
runtime-typedarray.cc Loading commit data...
runtime-utils.h Loading commit data...
runtime-wasm.cc Loading commit data...
runtime-weak-refs.cc Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...