• Clemens Backes's avatar
    Reland "[wasm] Refactor compilation tier computations" · b3a27f22
    Clemens Backes authored
    This is a reland of commit e50472d6.
    In {ApplyCompilationHintToInitialProgress} we would reset the baseline
    tier to {kNone} if the compilation strategy is {kDefault}, which is
    wrong. We would not generate code but also not install the lazy stub,
    so whenever we start executing the code before top-tier is ready we
    would crash.
    
    Original change's description:
    > [wasm] Refactor compilation tier computations
    >
    > 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: Andreas Haas <ahaas@chromium.org>
    > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#82521}
    
    Bug: v8:12425
    Change-Id: Ie41e63148bf6bd0e38fc07a3a514f1094d9d26cf
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3838409Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82585}
    b3a27f22
wasm-serialization.cc 34.5 KB