• Clemens Backes's avatar
    [wasm] Refactor compilation tier computations · e50472d6
    Clemens Backes authored
    The way we initialized the "compilation progress" was pretty convoluted,
    with multiple levels of functions being called for initializing every
    single slot.
    
    This CL refactors this to compute one default value for the whole
    module, and only modifies those slots that need special handling (e.g.
    because of compilation hints, or lazy/eager compilation after
    deserialization).
    
    We also rename "liftoff_functions" to "eager_functions" in the
    deserialization path; the idea is that those functions should get
    eagerly compiled because we expect them to be needed during execution.
    Usually they would be Liftoff-compiled, but it's more consistent to use
    the existing logic to choose the baseline tier. In the default
    configuration, this will still use Liftoff, but if Liftoff is disabled
    we will use TurboFan instead.
    
    R=jkummerow@chromium.org, ahaas@chromium.org
    
    Bug: v8:12425
    Change-Id: Ie58840b19efd0b1e98f1b02d5f1d4369410ed8e1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3829606
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82521}
    e50472d6
wasm-serialization.cc 34.5 KB