Contact emailsah...@chromium.org

ExplainerAt the moment, V8 compiles WebAssembly modules by first compiling
all functions with the baseline compiler Liftoff, and then immediately
compiling all functions with the optimizing compiler TurboFan, see
https://v8.dev/docs/wasm-compilation-pipeline. On some websites we see that
TurboFan compilation can block JavaScript workers from execution. With
WebAssembly dynamic tiering we want to reduce the CPU time of TurboFan
compilation by only optimizing functions which were already executed a few
times.

SpecificationThis feature is just a new implementation of an already
implemented specification.

Summary

With WebAssembly Dynamic Tiering, an heuristic decides which functions of a
WebAssembly module get optimized, and when the optimization is triggered.
This is an improvement to the existing eager optimization approach, where
all functions get optimized immediately after baseline compilation is
finished. WebAssembly Dynamic Tiering reduces the resource consumption of
the optimizing compiler, and prevents the compiler from competing with the
web application for resources.


Blink componentBlink>JavaScript>WebAssembly
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly>

TAG reviewNot applicable

TAG review statusNot applicable

Risks
WebAssembly dynamic tiering may lead to unexpected performance regressions.

Interoperability and Compatibility



Gecko: No signal

WebKit: No signal

Web developers: No signals


Goals for experimentation

The goal of the experiment is to allow important partners to experiment
with the performance impact of WebAssembly dynamic tiering. This feature
may change the startup behavior of WebAssembly code significantly, which is
why we would like to experiment in the guarded environment of an origin
trial first.

Reason this experiment is being extended



Ongoing technical constraints



Debuggability

Debugging behavior does not change

Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, Chrome OS, Android, and Android WebView)?Yes

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
?Yes

Flag nameWebAssemblyDynamicTiering

Requires code in //chrome?False

Estimated milestones

No milestones specified


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5685307493056512

This intent message was generated by Chrome Platform Status
<https://www.chromestatus.com/>.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAELSTveTudJkMbuBMyZ%2BZTv334audVik78gEJTzmjym4X6wJTg%40mail.gmail.com.

Reply via email to