w3c / transitions

W3C Transitions
https://www.w3.org/Guide/transitions/
73 stars 30 forks source link

[WASM] CR transition for WebAssembly Core Specification #119

Closed ericprud closed 5 years ago

ericprud commented 5 years ago

Document title, URLs, estimated publication date

target: https://www.w3.org/TR/2019/CR-wasm-core-1-20190306/ source: https://webassembly.github.io/spec/core/bikeshed/ to be published with: JavaScript Interface and WebAPI

Abstract

This document describes version 1.0 of the core WebAssembly standard, a safe, portable, low-level code format designed for efficient execution and compact representation.

Part of a collection of related documents: the Core WebAssembly Specification, the WebAssembly JS Interface, and the WebAssembly Web API.

Status

Standard Bikeshed SOTD plus text about exit criteria and CR deadline (see below).

Link to group's decision to request transition

https://github.com/WebAssembly/meetings/blob/master/2019/WG-02-13.md#--request-that-we-move-forward-with-a-candidate-recommendation-cr

Changes

This is a short list so I'd be tempted to include notation changes as it won't saturate the reader's brain.

Requirements satisfied

N/A

Dependencies met (or not)

no changes to dependencies or normative references.

Wide Review

see issues

Issues addressed

We expect to fix some of the open issues but probably more will emerge and they are typically behavior in error conditions.

960. Clarify alignment "hint" being in "base 2 logarithmic representation"? will close in the next few hours

899. Embedded devices: i8/i16 and memory pages less than 64KiB (invited to make WASM profile for embedded devices)

890. Relicense test/js-api/limits.js possible license issue on some submitted tests

870. Optional and dependent features (Meta discussion about optional features -- no specific proposals)

830. support Unicode(or UTF-8 encoded) identifiers (affects text representation, only used for testing)

809. [interpreter] rounding for floating-point constants (awaiting close by commenter)

804. Any intention add fp16 & i16 native support in webassembly? (feature req that will not go into 1st REC)

757. [spec] Error type for fetch cancellation (awaiting close by commenter)

728. [spec review] 4 - Execution editorial wasm-core-1 (awaiting close by commenter)

617. Roundtrip names with strange symbols in text format (feature req that will not go into 1st REC)

573. [web] Register application/wasm MIME type (TODO: track down flaxgor's registration and push it along)

421. [interpreter] f32.convert_u/i64 and f32_convert_s/i64 have incorrect rounding (awaiting close by commenter)

Formal Objections

Commentor achun disputes the wisdom of where the group went:

  1. [spec] Support i8 and i16? (addressed in meeting
  2. [spec] Support address value type? (addressed in response) We will contact achun during CR to ask if he/she would like to file a formal objection.

Implementation

exit criteria: 2+ impls of everything in WPT https://wpt.fyi/results/wasm We expect to pass all positive tests. Some impls map fail some negative tests so long as they reject. minimum CR duration: End of June (4 weeks) expect immediate transition to PR.

Patent disclosures

https://www.w3.org/2004/01/pp-impl/101196/status#current-disclosures


There are some publication challenges, some of which may be addressed by manual intervention:

896. [bikeshed] Incorrect links in footnotes

794. [bikeshed] Vertical alignment of footnote numbers editorial

680. [bikeshed] All references should go to References section editorial

676. [bikeshed] Reduce width of TOC editorial

670. [bikeshed] Vertical alignment of arrays editorial

643. [website] highlighting breaks the MathML render editorial

Editorial and scale testing issues:

886. Typo: n -> m (re-use of names in formulae)

880. Embedding limits test should test max module size of 1 GiB (practical limitations)

598. [papers] Add an index page to the papers directory editorial (paging)

593. The OPAM package properly provides the .mli interfaces, but not the .ml files for modules such as Ast (included files)

124. [interpreter] fp tests fail on Windows due to bit pattern mismatches (Not sure what to do. I last pestered folks in Sept and it was still a PITA for testers.)

all issues for all specs

This is a reverse-ordered list of open issues. These have been sorted into the three TR transition requests:

  1. [js-api] Review object caching (Mar 14, 2019)
  2. [test] uncovered edge cases (Feb 22, 2019)
  3. Clarify alignment "hint" being in "base 2 logarithmic representation"? (Feb 1, 2019)
  4. [spec] Support i8 and i16? (Jan 17, 2019)
  5. [spec] Support address value type? (Jan 13, 2019)
  6. Embedded devices: i8/i16 and memory pages less than 64KiB (Oct 24, 2018)
  7. [bikeshed] Incorrect links in footnotes (Oct 19, 2018)
  8. Relicense test/js-api/limits.js (Oct 11, 2018)
  9. Typo: n -> m (Oct 5, 2018)
  10. Embedding limits test should test max module size of 1 GiB (Sep 24, 2018)
  11. Optional and dependent features (Sep 5, 2018)
  12. support Unicode(or UTF-8 encoded) identifiers (Jul 5, 2018)
  13. js api: improve definition of error objects (May 24, 2018)
  14. [interpreter] rounding for floating-point constants (May 23, 2018)
  15. Any intention add fp16 & i16 native support in webassembly? (May 13, 2018)
  16. [bikeshed] Vertical alignment of footnote numbers editorial (May 3, 2018)
  17. [spec] Error type for fetch cancellation (Mar 21, 2018)
  18. [js-api] Allow optional asynchronous steps after instantiation? (Mar 4, 2018)
  19. [spec review] 4 - Execution editorial wasm-core-1 (Feb 28, 2018)
  20. [bikeshed] All references should go to References section editorial (Feb 13, 2018)
  21. [bikeshed] Reduce width of TOC editorial (Feb 13, 2018)
  22. [bikeshed] Vertical alignment of arrays editorial (Feb 13, 2018)
  23. [website] highlighting breaks the MathML render editorial (Jan 9, 2018)
  24. Roundtrip names with strange symbols in text format (Dec 6, 2017)
  25. [papers] Add an index page to the papers directory editorial (Nov 6, 2017)
  26. The OPAM package properly provides the .mli interfaces, but not the .ml files for modules such as Ast (Oct 26, 2017)
  27. [web] Register application/wasm MIME type (Oct 5, 2017)
  28. [interpreter] f32.convert_u/i64 and f32_convert_s/i64 have incorrect rounding (Feb 9, 2017)
  29. [interpreter] fp tests fail on Windows due to bit pattern mismatches (Oct 10, 2015)
binji commented 5 years ago

Link to meeting notes where we discussed transition: https://github.com/WebAssembly/meetings/blob/master/2019/WG-02-13.md#--request-that-we-move-forward-with-a-candidate-recommendation-cr

plehegar commented 5 years ago

@ericprud , not sure about the status of this request. Is it ready for the Director to look at?

ericprud commented 5 years ago

We have a few more things to take care of. @binji and I will meet this week to take care of them.

plehegar commented 5 years ago

ping?

swickr commented 5 years ago

Transition approved.

There are some editorial things I noticed:

And a question: In 2.3.3 there's a non-normative note about the length of the result type vector for functions. Is the correct interpretation of 4.4.7.3 that this is a normative constraint on host functions as well?

One more thing; I encourage a comment for #945 explaining the conclusion.

binji commented 5 years ago

Thanks! @rossberg to address your questions.

rossberg commented 5 years ago

There are some editorial things I noticed:

  • The second paragraph of section 1.1 is inconsistent with the SoTD and likely extraneous.

Happy to remove. Do you have a link to the SoTD?

  • There is an extraneous copyright statement at the end of the Execution section of A.8.

This seems to be a problem with the Bikeshed conversion. @binji, do you know?

And a question: In 2.3.3 there's a non-normative note about the length of the result type vector for functions. Is the correct interpretation of 4.4.7.3 that this is a normative constraint on host functions as well?

Yes, indirectly. A function type not satisfying this constraint does not validate, so host functions are constrained in so far that it is not possible to import them with a type not satisfying this constraint.

One more thing; I encourage a comment for #945 explaining the conclusion.

Hm, do you have anything specific in mind? (Note that the CG decided that the spec is not the right place to discuss design rationales, and it's avoided for everything else.)

binji commented 5 years ago

This seems to be a problem with the Bikeshed conversion. @binji, do you know?

I think this fixes it: https://github.com/WebAssembly/spec/pull/1030

plehegar commented 5 years ago

Published https://www.w3.org/TR/2019/CR-wasm-core-1-20190718/