+
Skip to content

Conversation

rossberg
Copy link
Collaborator

@rossberg rossberg commented Feb 4, 2024

Hack to get commit notifications from Github. Don't close.

@rossberg rossberg changed the title Ignore Notify Feb 5, 2024
Alan-Liang pushed a commit to Alan-Liang/spectec that referenced this pull request Sep 1, 2024
* [spec] Add reference types to overview (WebAssembly#1394)

* [interpreter] Remove use of physical equality on characters (WebAssembly#1396)

* Merge SIMD proposal (WebAssembly#1391)

SIMD is [phase 5](WebAssembly/simd#507), merge all the changes back into main spec.

* Remove merge conflict marker

* [spec] Handle v128 in validation algorithm (WebAssembly#1399)

* [spec] Fix instruction table (WebAssembly#1402)

* Add tests for functions without end marker. NFC (WebAssembly#1405)

Inspired by this downstream test in wabt:
WebAssembly/wabt#1775

Fixes: WebAssembly#1404

* Describe correct tail call behavior across modules

Whether tail calls across module boundaries would guarantee tail call behavior was previously an open question, but @thibaudmichaud confirmed that they would guarantee tail call behavior in V8 in WebAssembly/tail-call#15 (comment).

* [interpreter] Fix a typo in README (WebAssembly#1406)

* Add a link to the proposals repo (WebAssembly#1409)

Fixes WebAssembly#1407.

* [spec] Add note regarding parameter names (WebAssembly#1412)

* Comments WIP

* Merge upstream (Wasm-DSL#55)

* Typo

* [spec] Clarifying note on text format (WebAssembly#1420)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>

* Eps

* Eps

* [test] Fix section size in binary test (WebAssembly#1424)

* Update document README to install six

* Disallow type recursion (Wasm-DSL#56)

* Fix import order

* Add --generate-js-only flag to test runner

This will return early right after generating JS from the wast test
files. It will not attempt to run the tests, or do the round trip
conversion from wasm <-> wast.

This is convenient for proposals to add tests without having to
update the reference interpreter with implementation, and generate those
tests to JS to run in other Wasm engines.

Fixes WebAssembly#1430.

* Remove use of let from func.bind test

* Add call3

* [spec] Fix missing mention of vectype (WebAssembly#1436)

Fixed WebAssembly#1435.

* [spec] Fix single-table limitation in module instantiation (WebAssembly#1434)

* [spec] Fix missing immediate on table.set (WebAssembly#1441)

* [docs] Update syntax in examples (WebAssembly#1442)

* Clarification in proposals README

* [interpreter] Tweak start section AST to match spec

* [spec] Bump release to 2 (WebAssembly#1443)

At yesterday's WG meeting, we decided to make a new release, now switching to the Evergreen model. For administrative and technical reasons having to do with W3C procedure, we decided to bump the release number to 2.

From now on, the standard will iterate at version 2 from the W3C's official perspective. We use minor release numbers internally to distinguish different iterations.

(@ericprud, I hope I understood correctly that the Bikeshed "level" also needed to be bumped to 2.)

* Remove test cases with let

* Sync wpt test (WebAssembly#1449)

* [spec] Fix typo (WebAssembly#1448)

* [proposals] Add missing start to example (WebAssembly#1454)

* [spec] "version 2.0" -> "release 2.0" (WebAssembly#1452)

* [spec] Fix typo (WebAssembly#1458)

* [test] Add assert_trap for unreached valid case (WebAssembly#1460)

* [interpreter] Name the type Utf8.unicode

* [spec] Fix binary format of data/elem tags to allow LEB (WebAssembly#1461)

* [spec] Fix typos in numeric operations (WebAssembly#1467)

* [spec] Fix syntax error in element segments validation rule (WebAssembly#1465)

* [spec] Fix typo in global instance syntax (WebAssembly#1466)

* [spec] Fix typos in module instantiation (WebAssembly#1468)

* [interpreter] Turn into a Dune package (WebAssembly#1459)

* [spec] Fix typos in instruction validation rules (WebAssembly#1462)

* [bib] Update latex .bib file for webassembly 2.0 (WebAssembly#1463)

* [spec] Add missing default for vector types (WebAssembly#1464)

* [spec] Fix typos in binary and text formats (WebAssembly#1469)

* [spec] Fix various typos (WebAssembly#1470)

* TypeError for Global constructor with v128

At the moment the spec requires a `LinkError` to be thrown when the `WebAssembly.Global` constructor is called for type `v128`. This was introduced in WebAssembly/simd#360, but according to the PR description, actually a `TypeError` should be thrown. The PR refers to https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#javascript-api-and-simd-values, and there a `TypeError` is required.

* [spec] Fix LEB opcodes in instruction index (WebAssembly#1475)

* [spec] Fix v128.loadX_splat in instruction index (WebAssembly#1477)

* [interpreter] Dune test suite (WebAssembly#1478)

* [interpreter] Fix warning flags for OCaml 4.13 (WebAssembly#1481)

* [interpreter] Simplify lexer and avoid table overflow on some architectures (WebAssembly#1482)

* [spec] Editorial nit (WebAssembly#1484)

* [interpreter] Produce error messages in encoder (WebAssembly#1488)

* [spec] Add missing close paren on table abbreviation (WebAssembly#1486)

Also remove an unnecessary space in the previous table abbreviation.

* [spec] Remove outdated note (WebAssembly#1491)

* Eps

* [interpreter] Factor data and element segments into abstract types (WebAssembly#1492)

* [spec] Update note on module initialization trapping (WebAssembly#1493)

* Fix type equality

* Fix typo

* [spec] Add note about control stack invariant to algorithm (WebAssembly#1498)

* [spec] Tweak tokenisation for text format (WebAssembly#1499)

* [test] Use still-illegal opcode (func-refs) (WebAssembly#1501)

* Fix minor typos and consistency issues in the validation algorithm. (Wasm-DSL#61)

* Add definition of defaultable types (Wasm-DSL#62)

No rules for locals yet, since those are still being discussed.

* Remove func.bind (Wasm-DSL#64)

* Implement 1a (Wasm-DSL#63)

* Subtyping on vector types & heap bottom check (Wasm-DSL#66)

* [interpreter] Bring AST closer to spec

* [spec] Fix typo (WebAssembly#1508)

* WIP

* Remove polymorphic variants

* Minor syntactic consistency fix (Wasm-DSL#68)

Change pseudo equality operator from `==` to `=`.

* Bump version

* [spec] Fix table.copy validation typo (WebAssembly#1511)

* More fixes

* Fix Latex

* Adjust intro

* Spec local initialization (Wasm-DSL#67)

* Add table initialiser (Wasm-DSL#65)

* [spec] Remove outdated note (WebAssembly#1491)

* [interpreter] Factor data and element segments into abstract types (WebAssembly#1492)

* [spec] Update note on module initialization trapping (WebAssembly#1493)

* [spec] Add note about control stack invariant to algorithm (WebAssembly#1498)

* [spec] Tweak tokenisation for text format (WebAssembly#1499)

* [test] Use still-illegal opcode (func-refs) (WebAssembly#1501)

* [spec] Fix typo (WebAssembly#1508)

* [spec] Fix table.copy validation typo (WebAssembly#1511)

* Merge fallout

* Latex fixes

* [spec] Minor copy edit (WebAssembly#1512)

* Spec changelog

* [spec] Trivial editorial fix

* Update embedding

* Oops

* Argh

* Rename Sem to Dyn

* Readd match.mli

* [interpreter] Build wast.js with Js_of_ocaml (WebAssembly#1507)

* [interpreter] Add flag for controlling call budget

* Spec zero byte

* Fix table/elem expansion (Wasm-DSL#71)

* Fix merge artefact

* Restrict init from stack-polymorphism (Wasm-DSL#75)

* [spec] Simplify exec rule for if (WebAssembly#1517)

* [spec] Formatting tweak (WebAssembly#1519)

* [spec] Fix typing rule in appendix (WebAssembly#1516)

* [spec] Fix “invertible” typo (WebAssembly#1520)

* [spec] Correct use of opdtype and stacktype (WebAssembly#1524)

* [spec] Add note to instruction index (WebAssembly#1528)

* Add type annotation to call_ref (Wasm-DSL#76)

* [spec] Tweak wording to avoid first person

* Eps

* Eps2

* Eps3

* Remove unneeded assumption type

* [spec/test] Fix scoping of non-imported globals (WebAssembly#1525)

* Fix test

* A couple of tests

* Performance improvement

* Typo

* Another typo

* [spec] Fix language config

* Fix null subtyping being wrong way around (Wasm-DSL#79)

* [spec] Fix naming typo (WebAssembly#1532)

* Defunctorise types again

* [spec] Add citation for WasmCert (WebAssembly#1533)

* [test] Fix async_index.js

* [test] Enable the i64 tests in imports.wast.

Fixes WebAssembly#1514.

* Minor tweak

* [js-api][web-api] Editorial: Fix some minor issues.

Fixes WebAssembly#1064.

* Update README.md (WebAssembly#1540)

Improve wording.

* [spec] Fix typo in element execution (WebAssembly#1544)

* [spec] Remove obsolete note (WebAssembly#1545)

* cccccc[klghketetivvtnnhvntikigrnueuhdkkukljgjuest/meta/generate_*.js: sync upstream JS with tests (WebAssembly#1546)

* [spec] Editorial tweak

* [test] test segment/table mismatch and externref segment (WebAssembly#1547)

* [interpreter] Remove duplicate token declarations (WebAssembly#1548)

* Update Soundness appendix (Wasm-DSL#72)

* [spec] Formatting eps

* Remove oboslete note in README (Wasm-DSL#82)

* Add `print_i64` to generated spec tests

WebAssembly@82a613d added `print_i64` to the standalone test files, but not to the ones generated by the spec interpreter.

* [test] Tweak binary-leb128 and simd_lane (WebAssembly#1555)

* [spec] Allow explicit keyword definitions (WebAssembly#1553)

Rather than describing keyword tokens as always being defined implicitly by terminal symbols in syntactic productions, describe them as being defined implicitly or explicitly. This accounts for the explicit definitions of `offset` and `align` phrases, which are lexically keywords, later in the chapter.

Fixes WebAssembly#1552.

* [js-api] editorial: adjust link for v128 type

* Factor local init tests to local_init.wast; add more (Wasm-DSL#84)

* Update JS API for no-frills

* [spec] Add missing case for declarative elem segments

Fixes WebAssembly#1562.

* [spec] Hotfix last accidental commit

* [spec] Fix hyperref (WebAssembly#1563)

* [spec] Bump sphinx version to fix Python problem

* [spec] Fix minor errors and inconsistencies (WebAssembly#1564)

* Spacing

* Fix a couple more superfluous brackets

* [spec] Eps

* [interpreter] Refactor parser to handle select & call_indirect correctly (WebAssembly#1567)

* [spec] Remove dead piece of grammar

* [test] elem.wast: force to use exprs in a element (WebAssembly#1561)

* Fix typos in SIMD exec/instructions

* Update interpreter README (WebAssembly#1571)

It previously stated that the formal spec did not exist, but the spec has existed for years now.

* [spec] Remove an obsolete exec step (WebAssembly#1580)

* [test] Optional tableidx for table.{get,set,size,grow,fill} (WebAssembly#1582)

* [spec] Fix abstract grammar for const immediate (WebAssembly#1577)

* [spec] Fix context composition in text format (WebAssembly#1578)

* [spec] Fix label shadowing (WebAssembly#1579)

* Try bumping OCaml

* Try bumping checkout

* Adjust for multi-return

* Tweak reduction rules

* Spec return_call_ref

* Fix

* Text format

* [spec] Fix typos in instruction index (WebAssembly#1584)

* [spec] Fix typo (WebAssembly#1587)

* [spec] Remove inconsistent newline (WebAssembly#1589)

* [interpreter] Remove legacy bigarray linking (WebAssembly#1593)

* [spec] Show scrolls for overflow math blocks (WebAssembly#1594)

* [interpreter] Run JS tests via node.js (WebAssembly#1595)

* [spec] Remove stray `x` indices (WebAssembly#1598)

* [spec] Style tweak for cross-refs

* [spec] Style eps (WebAssembly#1601)

* Separate subsumption from instr sequencing

* State principal types

* Add statements about glbs, lubs, and disjoint hierarchies

* Add missing bot

* [spec] Clarify that atoms can be symbolic (WebAssembly#1602)

* [test] Import v128 global (WebAssembly#1597)

* Update Overview.md

* [js-api] Expose everywhere

* [js-api] Try to clarify NaN/infinity handling. (WebAssembly#1535)

* [web-api] Correct MIME type check. (WebAssembly#1537)

Fixes WebAssembly#1138.

* [ci] Pin nodejs version to avoid fetching failures (WebAssembly#1603)

The issues appears to be related to actions/runner-images#7002.

Co-authored-by: Ms2ger <Ms2ger@igalia.com>

* [spec] Add missing value to table.grow reduction rule (WebAssembly#1607)

* [test] Move SIMD linking test to simd dir (WebAssembly#1610)

* Editorial: Clarify the name of the instantiate algorithm.

* Add notes to discourage using synchronous APIs.

* [jsapi] Normative: Always queue a task during asynchronous instantiation

JSC will have to do asynchronous compilation work during some instantiations.
To be consistent, this PR always queues a task to complete instantiation,
except through the synchronous Instance(module) API, to ensure consistency
across platforms.

This patch also cleans up the specification in various surrounding ways:
- Include notes about APIs whose use is discouraged/may be limited

Closes WebAssembly#741
See also webpack/webpack#6433

* [test] Exception -> Tag in wasm-module-builder.js

The section name has changed to the tag section a few years ago. This
adds the corresponding changes added in
WebAssembly/exception-handling#252 and
WebAssembly/exception-handling#256.

* [spec] Fix reduction rule for label (WebAssembly#1612)

Fix WebAssembly#1605.

* [spec] Clarifying note about canonical NaNs (WebAssembly#1614)

* [spec] Tweak crossref

* [test] Fix invalid section ID tests (WebAssembly#1615)

* [tests] Disable node run for now

* [spec] Don't check in generated index, to avoid spurious merge conflicts

* [spec] Rename script

* [ci] deactivate node run for now

* Fix uses of \to; compositionality

* Fix typo in text expansion

* Follow-up fix

* Fix compilation errors after merge.

This commit fixes the errors introduced by the merge of
function-references/main into this tree.

---------

Signed-off-by: Adrian Cole <adrian@tetrate.io>
Co-authored-by: Andreas Rossberg <rossberg@dfinity.org>
Co-authored-by: Hans Höglund <hanshoglund@users.noreply.github.com>
Co-authored-by: Ng Zhi An <zhin@chromium.org>
Co-authored-by: Ng Zhi An <zhin@google.com>
Co-authored-by: Sam Clegg <sbc@chromium.org>
Co-authored-by: Thomas Lively <7121787+tlively@users.noreply.github.com>
Co-authored-by: Gabor Greif <ggreif@gmail.com>
Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
Co-authored-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com>
Co-authored-by: Andreas Rossberg <rossberg@chromium.org>
Co-authored-by: Ng Zhi An <ngzhian@gmail.com>
Co-authored-by: Ben L. Titzer <ben.titzer@gmail.com>
Co-authored-by: Keith Winstein <keithw@cs.stanford.edu>
Co-authored-by: gahaas <ahaas@google.com>
Co-authored-by: r00ster <r00ster91@protonmail.com>
Co-authored-by: Timothy McCallum <tpmccallum@users.noreply.github.com>
Co-authored-by: Julien Cretin <github@ia0.eu>
Co-authored-by: Julien Cretin <cretin@google.com>
Co-authored-by: Ole Krüger <ole@vprsm.de>
Co-authored-by: Jämes Ménétrey <james@menetrey.me>
Co-authored-by: Ivan Panchenko <39594356+ivan-pan@users.noreply.github.com>
Co-authored-by: Ethan Jones <ictrobot@outlook.com>
Co-authored-by: Ole Krüger <ole.kruger@trili.tech>
Co-authored-by: aathan <aathan_github@memeplex.com>
Co-authored-by: Alberto Fiori <9143617+fifofefe@users.noreply.github.com>
Co-authored-by: mnordine <marknordine@gmail.com>
Co-authored-by: cosine <CosineP@users.noreply.github.com>
Co-authored-by: ariez-xyz <41232910+ariez-xyz@users.noreply.github.com>
Co-authored-by: Surma <surma@surma.dev>
Co-authored-by: Asumu Takikawa <asumu@igalia.com>
Co-authored-by: Ian Henderson <ian@ianhenderson.org>
Co-authored-by: Tom Stuart <hi@tomstu.art>
Co-authored-by: James Browning <thejamesernator@gmail.com>
Co-authored-by: whirlicote <78504913+whirlicote@users.noreply.github.com>
Co-authored-by: Ms2ger <Ms2ger@igalia.com>
Co-authored-by: Adam Lancaster <Adzz@users.noreply.github.com>
Co-authored-by: Ömer Sinan Ağacan <omeragacan@gmail.com>
Co-authored-by: B Szilvasy <beatrice.szilvasy@gmail.com>
Co-authored-by: Thomas Lively <tlively123@gmail.com>
Co-authored-by: Michael Ficarra <github@michael.ficarra.me>
Co-authored-by: YAMAMOTO Takashi <yamamoto@midokura.com>
Co-authored-by: Thomas Lively <tlively@google.com>
Co-authored-by: candymate <31069474+candymate@users.noreply.github.com>
Co-authored-by: Bongjun Jang <bongjun.jang@kaist.ac.kr>
Co-authored-by: ShinWonho <50018375+ShinWonho@users.noreply.github.com>
Co-authored-by: 서동휘 <hwidongsuh@gmail.com>
Co-authored-by: Jim Blandy <jimb@red-bean.com>
Co-authored-by: Heejin Ahn <aheejin@gmail.com>
Co-authored-by: Daniel Ehrenberg <littledan@chromium.org>
Alan-Liang pushed a commit to Alan-Liang/spectec that referenced this pull request Sep 2, 2024
…t-funcs

[explainer] Abbreviate away continuation function types
keithw and others added 27 commits March 28, 2025 07:36
…1766)

At the CG meeting today (July 16, 2024), we had unanimous consensus to raise the limits on the number of imports and exports on the Web to 1,000,000. See WebAssembly/design#1520 for context.
Support and test empty list syntax
Support alternate sign operators and matching
f52985 and others added 30 commits August 19, 2025 16:53
…ebAssembly#1964)

Based on the discussion in WebAssembly#1950,
splits tests for bulk memory, multi-memory, and memory64 (including test
generators) into separate directories and files. bulk memory is considered
an "artificial" dependency of the other 2 proposals, so for example tests which
cover the intersection between bulk memory and memory64 go into the
memory64 directory.
* Initial commit

* Initial setup and overview

* Update proposal

  * Adopts builtin modules approach
  * Adds section of polyfilling
  * Adds section on feature detection
  * Adds cast/test builtins
  * Adds future extension ideas for
    - binding memory
    - utf8/wtf8
    - evolving the type signatures

* Address review feedback

* Rename concatenate to concat

* Editorial changes

  - Eliminate usage of 'builtin module' in description. This is not essential to the proposal and
    causes confusion around a similarly named JS proposal, which had different goals.
  - Clarify some minor points.
  - Make JS-API changes to WebIDL comprehensive.
  - Reword feature detection section to actually propose change to WebAssembly.validate method

* Tighten up definitions of function builtins

  - Function builtin behaviors is defined using 'create a host function'
  - Clarify behavior around monkey patching using standard language
  - Clarify edge cases around nullability
  - Clarify edge cases around unsigned/signed integers
  - Restrict 'substring' behavior to normal cases
  - Use wasm helpers for when wasm instructions are needed

* Rework support for WTF-8

The existing WTF-8 operation in this proposal violated one of the goals of the
proposal: "don't create substantial new functionality" by introducing WTF-8
transcoding support to the web platform without prior precedent. The WTF-8
operation is removed because of this.

The naming for WTF-16 operations is reworked to refer to 'charCodes' instead
as that is what the JS String interface uses.

We could support UTF-8 transcoding by referring to the TextEncoder/TextDecoder
interfaces, so this commit adds support for that.

* Review comments

* Update substring range checking

* Fix mutability of array i8

Fixes #19.

* Add streaming-related functions

Fixes #19

* Clarify behavior of flags and function names

Fixes #17.

* Fix link to type-imports prposal in js-string-builtins/Overview.md

* Clarify feature detection scheme

Explain that users should validate modules that deliberately produce link errors to test for support for particular builtins.

* Add test for js-string-builtins

This commit adds a basic suite of tests for the js-string-builtins.

This is done by defining a polyfill module matching the overview,
and then comparing the host provided builtins against the polyfill
on representative inputs.

* Fix type signature of 'concat'

Fixes #24.

* Add section on string constants, including Struct.from

* Rework to use imported string constants idea

* Fixup typos

* Add missing start parameter to measureStringAsUTF8 overview

* Update Overview.md

* Many small improvements

- Syntax highlighting
- Added links
- Code font
- Consistency
- Grammer fixes

* Update proposals/js-string-builtins/Overview.md

* Fix nullability for string constants

* Expand section on string constants

* Revert unintentional change to builtins field

* Add note about empty imports object

* Initial outline of builtin support

* Expand specification of builtins

* Remove unneeded modification to embedding spec

* Initial string constants support

* Fix module constructor to handle options

* Don't freeze internal instantiation of builtins and string constants

* Move UTF-8 support to a future proposal

* Remove DS_Store

* Remove DS_Store

* Mark up options appropriately

* Make UnwrapString an abstract-op and use it to implement cast

* Consistently use "steps" instead of "algorithm" for builtins

* Add test

* Add stubs for the rest of the operations

* Add fromCharCode

* Switch to using the Call abstract op, and add fromCodePoint

* Add length

* Add charCodeAt and codePointAt

* Add concat

* Add substring

* Use angle quotes appropriately

* Add basic support for fromCharCodeArray

Needs more detail to properly integrate with GC array ops.

* Make fromCharCodeArray slightly less formal

This avoids having to refer to actual Wasm instructions,
since after all this is a host function.

* Add intoCharCodeArray

* Add equals and compare

* Review fixes for builtin steps

* Tweak wording for trapping in builtins

* Fix spec to separate builtin name used for imports and compile options

* Add note about patching the String builtins

* Add more tests

* Don't validate that every builtin set option is valid

* Fix null-handling for `equals` in test and polyfill

Equals specifically allows null inputs. Update the JS API tests
and the polyfill to match.

* Editorial: replace Type AO with new ECMA-262 type test convention

* actually remove Type

* support per-component polyfill fallbacks

* spec rework

* typo

* Editorial: Align with Web IDL specification

* [js-api] Fix incorrect return statement in 'validate builtin set names'

* [js-api] Remove copy-pasted if statements

* Revert changes to conf and README to prepare for merging

* [tests] Remove tentative from js-string tests

* Expand JS builtin functypes

* Add change history entry

* [js-api] Improve formatting

---------

Co-authored-by: Deepti Gandluri <dtig@users.noreply.github.com>
Co-authored-by: Martin Kustermann <kustermann@google.com>
Co-authored-by: Thomas Lively <tlively@google.com>
Co-authored-by: Ömer Sinan Ağacan <omeragacan@gmail.com>
Co-authored-by: Thomas Steiner <tomac@google.com>
Co-authored-by: Adam Klein <adamk@chromium.org>
Co-authored-by: Michael Ficarra <m.ficarra@f5.com>
Co-authored-by: Guy Bedford <guybedford@gmail.com>
Co-authored-by: autokagami <saschanaz+autokagami@outlook.com>
* [js-api] Set the implementation limit for memory types

memory32 is the full 4GiB range. memory64 is at 2^37-1
so that when the page size is converted to bytes it is
less than the JS MAX_SAFE_INTEGER value.

Leave the runtime limits for memory sizes as-is.

* [js-api] Don't allow memories without max in toResizableBuffer

* [js-api] Remove unnecessary guard on maxsize

We must allow maxsize greater than 4GiB for memory64. The
impl limit for memory64 will ensure the maxsize is within
MAX_SAFE_INTEGER.

* [js-api] Fix ordering of instructions

* [js-api] Fix units

* Fix Assert in memory.grow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载