Aller au contenu principal

Ce document fournit des listes de contrôle des exigences techniques pour la mise en scène et l'expédition des fonctionnalités WebAssembly dans V8. Ces listes de contrôle sont conçues comme une ligne directrice et peuvent ne pas s'appliquer à toutes les fonctionnalités. Le processus de lancement réel est décrit dans le processus de lancement V8.

Mise en scène

Quand mettre en scène une fonctionnalité WebAssembly

La mise en scène d'une fonctionnalité WebAssembly définit la fin de sa phase de mise en œuvre. La phase de mise en œuvre est terminée lorsque la liste de contrôle suivante est accomplie :

  • La mise en œuvre dans V8 est terminée. Cela inclut :
    • Mise en œuvre dans TurboFan (si applicable)
    • Mise en œuvre dans Liftoff (si applicable)
    • Mise en œuvre dans l'interpréteur (si applicable)
  • Des tests dans V8 sont disponibles
  • Les tests de spécification sont intégrés dans V8 en exécutant tools/wasm/update-wasm-spec-tests.sh
  • Tous les tests de spécification proposés existants réussissent. Les tests de spécification manquants sont regrettables mais ne devraient pas bloquer la mise en scène.

Notez que l'étape de la proposition de fonctionnalité dans le processus de normalisation n'a pas d'importance pour la mise en scène de la fonctionnalité dans V8. La proposition devrait, cependant, être principalement stable.

Comment mettre en scène une fonctionnalité WebAssembly

Voir la mise en scène de la réflexion de type comme référence.

Expédition

Quand une fonctionnalité WebAssembly est-elle prête à être expédiée

Comment expédier une fonctionnalité WebAssembly

  • Dans src/wasm/wasm-feature-flags.h, déplacez le drapeau de fonctionnalité de la liste macro FOREACH_WASM_STAGING_FEATURE_FLAG vers la liste macro FOREACH_WASM_SHIPPED_FEATURE_FLAG.
    • Assurez-vous d'ajouter un bot CQ blink sur le CL pour vérifier les échecs des tests de mise en page blink causés par l'activation de la fonctionnalité (ajoutez cette ligne dans le pied de description du CL : Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel).
  • De plus, activez la fonctionnalité par défaut en modifiant le troisième paramètre dans FOREACH_WASM_SHIPPED_FEATURE_FLAG à true.
  • Définissez un rappel pour supprimer le drapeau de fonctionnalité après deux versions.