Implementing and shipping JavaScript/WebAssembly language features

In general, V8 uses the Blink Intent process for JavaScript and WebAssembly language features. The differences are laid out in the errata below. Please follow the Blink Intent process, unless the errata tells you otherwise.

If you have any questions on this topic, please send and an email.

Errata #

TAG review #

For smaller JavaScript or WebAssembly features, a TAG review is not required, as TC39 and the Wasm CG already provide significant technical oversight. If the feature is large or cross-cutting (e.g., requires changes to other Web Platform APIs or modifications to Chromium), TAG review is recommended.

Instead of WPT, Test262 and WebAssembly spec tests are sufficient #

Adding Web Platform Tests (WPT) is not required, as JavaScript and WebAssembly language features have their own test repositories. Feel free to add some though, if you think it is beneficial.

For JavaScript features, explicit correctness tests in Test262 are preferred and required.

For WebAssembly features, explicit correctness tests in the WebAssembly Spec Test repo are required.

Who to CC #

Every “intent to $something” email (e.g. “intent to implement”) should CC in addition to This way, other embedders of V8 are kept in the loop too.

Link to the spec repo #

The Blink Intent process requires an explainer. Instead of writing a new doc, feel free to link to respective spec repository instead (e.g. import.meta).