[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}
Showing
This diff is collapsed.
Please
register
or
sign in
to comment