본문으로 건너뛰기

이 문서는 V8에서 웹어셈블리 기능의 스테이징 및 출시에 대한 엔지니어링 요구사항 체크리스트를 제공합니다. 이 체크리스트는 가이드라인으로 작성되었으며 모든 기능에 적용될 수는 없습니다. 실제 출시 프로세스는 V8 출시 프로세스에 설명되어 있습니다.

스테이징

웹어셈블리 기능을 스테이징하는 시점​

웹어셈블리 기능의 스테이징은 구현 단계가 끝나는 시점을 정의합니다. 구현 단계는 다음 체크리스트가 완료되었을 때 완료됩니다:

  • V8에서 구현이 완료되었습니다. 이는 다음을 포함합니다:
    • TurboFan에서 구현 (해당되는 경우)
    • Liftoff에서 구현 (해당되는 경우)
    • 인터프리터에서 구현 (해당되는 경우)
  • V8에서 테스트가 가능합니다
  • tools/wasm/update-wasm-spec-tests.sh를 실행하여 V8에 사양 테스트를 롤링합니다
  • 모든 기존 제안 사양 테스트가 통과합니다. 부족한 사양 테스트는 아쉽지만 스테이징을 막지는 않아야 합니다.

표준화 프로세스에서 기능 제안의 단계는 V8에서 기능을 스테이징하는 데 중요하지 않습니다. 그러나 제안은 대체로 안정적일 필요가 있습니다.

웹어셈블리 기능을 스테이징하는 방법​

타입 반영의 스테이징을 참조로 확인하세요.

출시

웹어셈블리 기능을 출시할 준비가 되었는지 확인 시점​

웹어셈블리 기능을 출시하는 방법​

  • src/wasm/wasm-feature-flags.h 에서 기능 플래그를 FOREACH_WASM_STAGING_FEATURE_FLAG 매크로 목록에서 FOREACH_WASM_SHIPPED_FEATURE_FLAG 매크로 목록으로 이동합니다.
    • 기능 활성화로 인해 발생한 blink 웹 테스트 실패를 확인하기 위해 CL에 blink CQ 봇을 추가해야 합니다 (CL 설명의 풋터에 이 줄을 추가합니다: Cq-Include-Trybots: luci.v8.try:v8_linux_blink_rel).
  • 추가적으로, FOREACH_WASM_SHIPPED_FEATURE_FLAG에서 세 번째 매개변수를 true로 변경하여 기본적으로 기능을 활성화합니다.
  • 두 번째 마일스톤 이후 기능 플래그를 제거하도록 알림을 설정합니다.