Pular para o conteúdo principal

Este documento fornece listas de verificação dos requisitos de engenharia para preparação e envio de funcionalidades do WebAssembly no V8. Essas listas de verificação são destinadas como um guia e podem não ser aplicáveis a todas as funcionalidades. O processo real de lançamento está descrito em Processo de lançamento do V8.

Preparação

Quando preparar uma funcionalidade do WebAssembly

A preparação de uma funcionalidade do WebAssembly define o fim da sua fase de implementação. A fase de implementação está concluída quando a seguinte lista de verificação estiver concluída:

  • A implementação no V8 está completa. Isso inclui:
    • Implementação no TurboFan (se aplicável)
    • Implementação no Liftoff (se aplicável)
    • Implementação no interpretador (se aplicável)
  • Testes no V8 estão disponíveis
  • Testes da especificação são incorporados ao V8 executando tools/wasm/update-wasm-spec-tests.sh
  • Todos os testes existentes da especificação da proposta são aprovados. Testes de especificação ausentes são indesejáveis, mas não devem bloquear a preparação.

Observe que o estágio da proposta da funcionalidade no processo de padronização não importa para a preparação da funcionalidade no V8. No entanto, a proposta deve estar, majoritariamente, estável.

Como preparar uma funcionalidade do WebAssembly

Veja a preparação da reflexão de tipos como referência.

Envio

Quando uma funcionalidade do WebAssembly está pronta para ser enviada

Como enviar uma funcionalidade do WebAssembly

  • Em src/wasm/wasm-feature-flags.h, mova a flag da funcionalidade da lista de macros FOREACH_WASM_STAGING_FEATURE_FLAG para a lista de macros FOREACH_WASM_SHIPPED_FEATURE_FLAG.
    • Certifique-se de adicionar um bot do blink CQ no CL para verificar falhas nos testes da web do blink causadas pela habilitação da funcionalidade (adicione esta linha no rodapé da descrição do CL: Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel).
  • Adicionalmente, habilite a funcionalidade por padrão ao alterar o terceiro parâmetro em FOREACH_WASM_SHIPPED_FEATURE_FLAG para true.
  • Defina um lembrete para remover a flag da funcionalidade após dois marcos.