Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[spec/interpreter/test] Land bulk instructions & reference types proposals #1287

Merged
merged 233 commits into from
Mar 10, 2021

Commits on Sep 6, 2017

  1. Add initial proposal overview

    binji committed Sep 6, 2017
    Configuration menu
    Copy the full SHA
    6185199 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2017

  1. Include link to gist for benchmark

    See issue #3.
    binji authored Oct 26, 2017
    Configuration menu
    Copy the full SHA
    107c4cc View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2018

  1. Configuration menu
    Copy the full SHA
    1efc603 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2018

  1. Configuration menu
    Copy the full SHA
    096ac5b View commit details
    Browse the repository at this point in the history
  2. Rename {set,move}_memory to mem.{set,copy}

    This aligns with current interest in using `mem.` prefix for memory
    operations, see #627 and
    WebAssembly/threads#62 (comment).
    binji committed Jan 18, 2018
    Configuration menu
    Copy the full SHA
    83b7620 View commit details
    Browse the repository at this point in the history
  3. Combine bulk-memory-ops + cond-seg-init proposals (#5)

    Also remove some of the stuff from the bulk memory proposal that really
    should be written in the spec ReST files.
    binji authored Jan 18, 2018
    Configuration menu
    Copy the full SHA
    dd356d5 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2018

  1. Rename mem.set to mem.fill (#6)

    I think it's a better name than `set`, especially considering we may have a `table.set` in the future, which will likely set just one value.
    
    It also follows naming of [Array.prototype.fill](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill) which has similar behavior.
    binji authored Feb 1, 2018
    Configuration menu
    Copy the full SHA
    5d60dab View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2018

  1. Initial

    rossberg committed Feb 27, 2018
    Configuration menu
    Copy the full SHA
    c71b281 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2018

  1. Configuration menu
    Copy the full SHA
    277308d View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2018

  1. Add note

    rossberg committed Mar 6, 2018
    Configuration menu
    Copy the full SHA
    c985a1b View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2018

  1. Fix typo in subtype relation (#5)

    chicoxyzzy authored and rossberg committed Mar 8, 2018
    Configuration menu
    Copy the full SHA
    835dc7d View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2018

  1. Add links

    rossberg authored Mar 13, 2018
    Configuration menu
    Copy the full SHA
    9f0c7aa View commit details
    Browse the repository at this point in the history
  2. Fix issue links

    rossberg authored Mar 13, 2018
    Configuration menu
    Copy the full SHA
    7a8d371 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2018

  1. Configuration menu
    Copy the full SHA
    1d7785d View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2018

  1. Configuration menu
    Copy the full SHA
    1f29a8e View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2018

  1. Update overview

    rossberg committed Apr 5, 2018
    Configuration menu
    Copy the full SHA
    fec2142 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2018

  1. Configuration menu
    Copy the full SHA
    10c465a View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2018

  1. [spec] JS API changes (#8)

    rossberg authored Apr 12, 2018
    Configuration menu
    Copy the full SHA
    a219a03 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2018

  1. Configuration menu
    Copy the full SHA
    4fee761 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2018

  1. Configuration menu
    Copy the full SHA
    4302793 View commit details
    Browse the repository at this point in the history
  2. Add instruction encoding to overview

    Also fix some typos I noticed.
    binji authored May 1, 2018
    Configuration menu
    Copy the full SHA
    cf1826f View commit details
    Browse the repository at this point in the history

Commits on May 4, 2018

  1. Remove ref.eq (#12)

    rossberg authored May 4, 2018
    Configuration menu
    Copy the full SHA
    ab760d0 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2018

  1. Rename mem.* -> memory.*

    This follows the naming discussed in issue
    #627.
    binji committed May 7, 2018
    Configuration menu
    Copy the full SHA
    ba2a5f8 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2018

  1. [spec] Initial documentation of syntax (#12)

    * [spec] Initial documentation of syntax
    
    Includes the basic structure needed for the proposal, but no validation,
    binary, text or execution.
    binji authored May 10, 2018
    Configuration menu
    Copy the full SHA
    c86bece View commit details
    Browse the repository at this point in the history
  2. Fix memory.{init,drop} mistakes in overview (#14)

    Using `memory.init` or `memory.drop` on an active segment is a validation error, not a trap.
    binji authored May 10, 2018
    Configuration menu
    Copy the full SHA
    9319fa7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    91d8fa2 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2018

  1. Configuration menu
    Copy the full SHA
    863d963 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2018

  1. Link spec in README

    rossberg committed May 12, 2018
    Configuration menu
    Copy the full SHA
    eeec740 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2018

  1. Configuration menu
    Copy the full SHA
    506907b View commit details
    Browse the repository at this point in the history

Commits on May 31, 2018

  1. Configuration menu
    Copy the full SHA
    008e552 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2018

  1. Configuration menu
    Copy the full SHA
    d50d7e5 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2018

  1. Remove eqref remainders

    rossberg committed Jul 15, 2018
    Configuration menu
    Copy the full SHA
    f4bdb3a View commit details
    Browse the repository at this point in the history
  2. Update overview

    rossberg committed Jul 15, 2018
    Configuration menu
    Copy the full SHA
    bf6e067 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2018

  1. Configuration menu
    Copy the full SHA
    b022826 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2018

  1. Tweak segment encoding to keep memory/table index encoding (#28)

    The current state seems to remove the placeholder table/memory index from the encoding to use it as an active flag.
    AndrewScheidecker authored and binji committed Sep 11, 2018
    Configuration menu
    Copy the full SHA
    872fcfa View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2018

  1. Don't statically validate whether the segment index immediates of `me…

    …mory.init`, `memory.drop`, `table.init`, and `table.drop` identify passive segments; only that they index a valid segment. (#31)
    AndrewScheidecker authored and binji committed Sep 20, 2018
    Configuration menu
    Copy the full SHA
    4123d1e View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2018

  1. Configuration menu
    Copy the full SHA
    7ea73f7 View commit details
    Browse the repository at this point in the history
  2. Clarify some encoding/semantics (#32)

    I recently looked into adding support for bulk memory operations into
    some Rust tooling in preparation for an overall threading story, and on
    reading the overview here I was slightly confused about a few encodings
    and some semantics. In the end I'm hopeful that these updates can help
    clarify these for future readers! No major functional change is intended
    here, only tweaks to wording and clarification of what I believe the
    original intent of the instructions were.
    
    Changes made were:
    
    * Fixed a broken `modules.html` link
    * Clarified some wording about how the new encoding of data segments
      with a flags field up front is backwards compatible.
    * Lifted the style of specifying encodings in `BinaryEncoding.md` to
      replace the current table for the new encoding of a data section. (I
      found this to be a bit more readable, but it should be functionally
      the same!)
    * Update `memory.*` instructions (and transitively `table.*`) to all be
      succeeded by an immediate index of which memory/table to operate over.
      This should, in the future, allow initializing/dropping data segments
      with multiple memories in play.
    * Updated the chart of instruction binary encodings to explicitly
      specify the following immediates of segments and tables.
    alexcrichton authored and binji committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    b73c079 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2018

  1. Update binary encoding to use varuint32 for flags (#35)

    This commit fixes #34 by specifying that the flags field (which
    indicates if a segment is passive) is a `varuint32` instead of a
    `uint8`. It was discovered in #34 that the memory index located at that
    position today is a `varuint32`, which can be validly encoded as `0x80
    0x00` in addition to `0x00` (in addition to a number of other
    encodings). This means that if the first field were repurposed as a
    single byte of flags, it would break these existing modules that work
    today.
    
    It's not currently known how many modules in the wild actually take
    advantage of such an encoding, but it's probably better to be safe than
    sorry!
    
    Closes #34
    alexcrichton authored and binji committed Oct 15, 2018
    Configuration menu
    Copy the full SHA
    30092f1 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2018

  1. Configuration menu
    Copy the full SHA
    61018e8 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2018

  1. Update Overview.md for element segments (#41)

    * Update Overview.md for element segments
    
    Passive element segments now include an element type, and have a sequence of expressions instead of function indices.
    binji authored Nov 26, 2018
    Configuration menu
    Copy the full SHA
    1276e58 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2018

  1. Add new DataCount section (#42)

    binji authored Nov 29, 2018
    Configuration menu
    Copy the full SHA
    d6d2c1f View commit details
    Browse the repository at this point in the history
  2. Add a second placeholder zero to the encoding of memory.copy and `t…

    …able.copy`. (#29)
    
    This would make it simpler to extend those instructions to support multiple memories/tables, and copying between different memories/tables.
    
    The current encoding has a single placeholder zero byte for those instructions, which allows extension to multiple memories/tables, but would require a more complicated encoding to add two immediate indices.
    AndrewScheidecker authored and binji committed Nov 29, 2018
    Configuration menu
    Copy the full SHA
    b19cbf3 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2018

  1. Change DataCount section ID to 12 (#44)

    aheejin authored and binji committed Dec 12, 2018
    Configuration menu
    Copy the full SHA
    aa7efea View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'upstream/master'

    Also, rename {get,set}_table to table.{get,set} to sync with name changes in master.
    rossberg committed Dec 12, 2018
    Configuration menu
    Copy the full SHA
    0b8da7e View commit details
    Browse the repository at this point in the history
  3. Forgot to rename in Overview

    rossberg committed Dec 12, 2018
    Configuration menu
    Copy the full SHA
    c34d22f View commit details
    Browse the repository at this point in the history
  4. Add store typing

    rossberg committed Dec 12, 2018
    Configuration menu
    Copy the full SHA
    59e2ee5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fa335d7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2a00b2e View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2018

  1. Configuration menu
    Copy the full SHA
    b70d03c View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2019

  1. Configuration menu
    Copy the full SHA
    178a7f6 View commit details
    Browse the repository at this point in the history
  2. Reverse order of {table,memory}.init immediates (#45)

    The order of the `table.init` and `memory.init` immediates should be the index followed by the reserved byte (which is a placeholder for the table or memory index). This matches ordering of immediates in `call_indirect` (type index, followed by table index reserved byte).
    binji authored Jan 9, 2019
    Configuration menu
    Copy the full SHA
    446b9c2 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2019

  1. Configuration menu
    Copy the full SHA
    3115daa View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2019

  1. Configuration menu
    Copy the full SHA
    af60ffe View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2019

  1. [spec] Fix typo (#28)

    gahaas authored and rossberg committed Jan 23, 2019
    Configuration menu
    Copy the full SHA
    241c48d View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2019

  1. Clarify *.{init,copy,fill} w/ zero count (#48)

    `memory.init`, `memory.copy`, `memory.fill`, `table.init`, and `table.copy` should all fail if their ranges are out-of-bounds, even if the count is zero, similar to for active segments. See the discussions here: WebAssembly/design#897, WebAssembly/bulk-memory-operations#11.
    binji authored Jan 24, 2019
    Configuration menu
    Copy the full SHA
    e27277d View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2019

  1. Clarify trapping semantics (#50)

    * Clarify trapping semantics
    lars-t-hansen authored Jan 28, 2019
    Configuration menu
    Copy the full SHA
    b752e8b View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2019

  1. Configuration menu
    Copy the full SHA
    79bf48c View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2019

  1. Configuration menu
    Copy the full SHA
    f497d55 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2019

  1. [interpreter] Implement bulk memory operations (#54)

    This adds the new operations, as well as the new data and element
    segment formats.
    
    Implemented:
    
    * Text parsing/writing
    * Binary encoding/decoding
    * Validation
    
    TODO:
    
    * Tests
    * DataCount section
    * Proper encoding of passive element segments (using ref.null etc)
    * Evaluation
    binji authored Feb 5, 2019
    Configuration menu
    Copy the full SHA
    a252581 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2019

  1. Configuration menu
    Copy the full SHA
    1e03671 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2019

  1. Configuration menu
    Copy the full SHA
    564fc40 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2019

  1. Configuration menu
    Copy the full SHA
    5e3df28 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d91b74e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7c357ab View commit details
    Browse the repository at this point in the history
  4. Move MemoryCopy and MemoryFill definitions

    This uses the same as order as defined in syntax/ast.
    binji committed Feb 21, 2019
    Configuration menu
    Copy the full SHA
    63986ff View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2019

  1. [Interpreter] Handle 0-byte copies properly. (#61)

    Similar to the MVP, a 0-byte access at the end of the region is legal.
    binji authored Feb 22, 2019
    Configuration menu
    Copy the full SHA
    1671a38 View commit details
    Browse the repository at this point in the history
  2. [Interpreter] Initialized segments persist after instantiation failure

    This behavior is a breaking change from the v1 spec, but it is unlikely
    that any programs depend on it.
    binji authored Feb 22, 2019
    Configuration menu
    Copy the full SHA
    f817560 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2019

  1. [Interpreter] Implement rest of the instructions (#64)

    `memory.init`, `data.drop`, `table.init`, `elem.drop`, `table.copy`
    
    Also fix writing passive segments in the text format.
    binji authored Mar 1, 2019
    Configuration menu
    Copy the full SHA
    f574364 View commit details
    Browse the repository at this point in the history
  2. [Interpreter] New syntax for passive elem segments (#65)

    It uses instruction encoding instead of assuming that each element is a
    function variable:
    
    ```
    0xd0 -> ref.null
    0xd2 x -> ref.func x
    ```
    binji authored Mar 1, 2019
    Configuration menu
    Copy the full SHA
    d97e8fb View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2019

  1. [Interpreter] Fix bugs found by Lars' tests (#66)

    * The data count section is required if the `memory.init` or `data.drop`
      instructions are used.
    
    * `memory.init` had an off-by-one bug when reading at the end of a segment.
    
    * All instructions that operate on regions need to compare length to 0
      using unsigned comparison (e.g. `I32.gt_u n 0l`).
    
    * Converting length from 32- to 64-bit now uses
      `I64_convert.extend_i32_u`, instead of `Int64.of_int32`, since the
      latter will sign-extend.
    
    * The `table.copy` overlap test now uses an unsigned comparison.
    
    * The passive element text syntax still allows function indexes, e.g.
      `(elem passive $f1 $f2)`.
    
    * Add element type to passive element segments
    binji authored Mar 5, 2019
    Configuration menu
    Copy the full SHA
    35d08d2 View commit details
    Browse the repository at this point in the history
  2. Bulk memory operations test cases (#67)

    * Initial test generation code
    
    * Cleanup
    
    * Parameterize
    
    * Cleanup
    
    * Rename
    
    * More tests
    
    * Table copy
    
    * table.init
    
    * More tests
    
    * More memory.init tests
    
    * table.copy
    
    * data.drop and elem.drop
    
    * Updates for the reference interpreter
    
    * Partial memory.fill
    
    * Comment out test for reference interpreter
    
    * Partial OOB for memory_init
    
    * Partial table.init
    
    * Partial OOB for table.copy
    
    * Some binary tests
    
    * Uncontroversial updates
    
    * Test suite updates after discussion with binji
    
    * Binary tests for elem segments
    
    * Fix test bug, update comments
    lars-t-hansen authored and binji committed Mar 5, 2019
    Configuration menu
    Copy the full SHA
    72ada2b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a1c04b5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6c802fa View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2019

  1. Remove irrelevant comment + support node.js (#70)

    * Remove irrelevant comment
    
    * Support node.js as well
    lars-t-hansen authored Mar 7, 2019
    Configuration menu
    Copy the full SHA
    63cceba View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2019

  1. [interpreter] Refactor element type in passive segments (#71)

    * Refactor type in passive segments
    
    * Make tests more specific
    rossberg authored and binji committed Mar 8, 2019
    Configuration menu
    Copy the full SHA
    0cf128e View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2019

  1. Configuration menu
    Copy the full SHA
    c2cd260 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2019

  1. [interpreter] Fix JS generator (#34)

    * Add missing eq_ref
    * Fix export index computation
    * Remove bogus test
    rossberg authored Mar 30, 2019
    Configuration menu
    Copy the full SHA
    d9ebd33 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ef6678a View commit details
    Browse the repository at this point in the history
  3. [spec/interpreter] Rename elem/data.drop; update README; reorder (#75)

    * Rename elem/data.drop
    * Reorder bulk instructions
    * Rename interpreter AST ref constructors to match reftype repo
    * Update interpreter README
    rossberg authored Mar 30, 2019
    Configuration menu
    Copy the full SHA
    726d7ec View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2019

  1. [spec/interpreter/test] Add table bulk instructions missing from bulk…

    … op proposal (#35)
    
    Adds table.size, table.grow, table.fill to overview, spec, interpreter, and tests, as decided at recent CG meeting. Also adds a few more tests for table.get and table.set.
    
    Also, change interpreter's segment encoding to match bulk ops proposal, addressing #18. (Not updated in spec yet, since corresponding spec text is still missing from bulk ops proposal.)
    rossberg authored Apr 3, 2019
    Configuration menu
    Copy the full SHA
    c3d5cbc View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2019

  1. Increase the table count limit to 100,000

    Lars T Hansen committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    40785ff View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2019

  1. Configuration menu
    Copy the full SHA
    fcef8d6 View commit details
    Browse the repository at this point in the history
  2. [spec] Update instruction index (#81)

    Fixes issue #77.
    binji authored Apr 5, 2019
    Configuration menu
    Copy the full SHA
    d346a8f View commit details
    Browse the repository at this point in the history
  3. [spec] DataCount section, syntax, and validation (#80)

    The data count section has a count that must match the number of data segments. If the data count section isn't present, then `memory.init` and `data.drop` cannot be used.
    
    Fixes issue #73.
    binji authored Apr 5, 2019
    Configuration menu
    Copy the full SHA
    e27b4ea View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2019

  1. Configuration menu
    Copy the full SHA
    8bc0aa1 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2019

  1. [spec] Simplify datacount side condition (#83)

    * Add definition of free index sets
    * Simplify datacount side condition
    * Explain convention about multiple occurrences of meta variables
    rossberg authored Apr 16, 2019
    Configuration menu
    Copy the full SHA
    864f382 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2019

  1. Configuration menu
    Copy the full SHA
    1b1d70c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ad8059 View commit details
    Browse the repository at this point in the history
  3. [spec] Adjust invoke

    rossberg committed Apr 18, 2019
    Configuration menu
    Copy the full SHA
    a2d5f93 View commit details
    Browse the repository at this point in the history
  4. [spec] Fix latex issue

    rossberg committed Apr 18, 2019
    Configuration menu
    Copy the full SHA
    8b3fb37 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2019

  1. Configuration menu
    Copy the full SHA
    dcbc1c5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    02117e4 View commit details
    Browse the repository at this point in the history
  3. [spec] Proper binary format for element segments (#82)

    The element segment binary format allows for `ref.null` as well as
    `ref.func`.
    
    TODO: text format
    binji authored Apr 19, 2019
    Configuration menu
    Copy the full SHA
    4c97261 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2019

  1. Configuration menu
    Copy the full SHA
    05672b0 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2019

  1. [spec] Correctly account for subtyping in global/table instances (#39)

    * Make types explicit in global/table/memory instances
    * Allow global/table values/elements to be subtypes
    * Simplify externval typing
    rossberg authored Apr 23, 2019
    Configuration menu
    Copy the full SHA
    09dccac View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2019

  1. Configuration menu
    Copy the full SHA
    1fec5c1 View commit details
    Browse the repository at this point in the history
  2. Fix links 2

    rossberg authored Apr 25, 2019
    Configuration menu
    Copy the full SHA
    b8f6478 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2019

  1. [interpreter] Forgot commit

    rossberg committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    d6cd997 View commit details
    Browse the repository at this point in the history
  2. [interpreter] Eps

    rossberg committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    16b65a2 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2019

  1. Configuration menu
    Copy the full SHA
    29540ac View commit details
    Browse the repository at this point in the history

Commits on May 13, 2019

  1. Slight simplifications to text format (#84)

    * Remove passive segment func ref shorthand
    
    * Drop passive keyword
    rossberg authored and binji committed May 13, 2019
    Configuration menu
    Copy the full SHA
    6eb26a3 View commit details
    Browse the repository at this point in the history
  2. Init/copy/fill with offsets at the end of the memory or table (#86)

    * Fix expected trap messages.
    
    The spec interpreter says "element segment dropped", rather than
    "elements segment dropped".
    
    * Fix "zero len, but dst offset out of bounds" test.
    
    Fix this test to test what it's comment says it's testing.
    
    * Add more tests for zero-length operations.
    
    * Update the Overview text to reflect the zero-length at-the-end semantics.
    sunfishcode authored and binji committed May 13, 2019
    Configuration menu
    Copy the full SHA
    08be05a View commit details
    Browse the repository at this point in the history
  3. Fix merge conflicts introduced w/ PRs #84 and #86 (#87)

    Change the test generators to use `ref.func` and remove `passive`.
    
    At some point we'll want to remove the generators, but for let's try to
    maintain them.
    binji authored May 13, 2019
    Configuration menu
    Copy the full SHA
    e2e3383 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2019

  1. Configuration menu
    Copy the full SHA
    e5cf99f View commit details
    Browse the repository at this point in the history
  2. [spec] Formatting nit

    rossberg committed May 15, 2019
    Configuration menu
    Copy the full SHA
    82c9db1 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2019

  1. Configuration menu
    Copy the full SHA
    eca021a View commit details
    Browse the repository at this point in the history

Commits on May 21, 2019

  1. [travis] Use a different deploy_key

    Deploy keys can't be shared between repositories, so we'll have to
    create a new one for each proposal.
    
    We may want to switch to the instructions described here instead at some
    point: https://docs.travis-ci.com/user/deployment/pages/
    binji committed May 21, 2019
    Configuration menu
    Copy the full SHA
    4e1a093 View commit details
    Browse the repository at this point in the history
  2. Copy bikeshed fix from spec repo

    See 27799cd.
    binji committed May 21, 2019
    Configuration menu
    Copy the full SHA
    822039b View commit details
    Browse the repository at this point in the history

Commits on May 23, 2019

  1. [test] JS-compatible module name (#45)

    gahaas authored and rossberg committed May 23, 2019
    Configuration menu
    Copy the full SHA
    0f7f930 View commit details
    Browse the repository at this point in the history
  2. [spec] Add element type to passive element segment (#90)

    This was accidentally omitted.
    binji authored May 23, 2019
    Configuration menu
    Copy the full SHA
    c3289d2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    88cb638 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2019

  1. Configuration menu
    Copy the full SHA
    86c7e35 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2019

  1. [test] Use more JS-compatible names (#47)

    gahaas authored and rossberg committed May 28, 2019
    Configuration menu
    Copy the full SHA
    b2d34e0 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2019

  1. [spec] Runtime format of element and data segments (#91)

    This is copied and modified from this closed PR:
    
    WebAssembly/bulk-memory-operations#19
    binji authored May 31, 2019
    Configuration menu
    Copy the full SHA
    a976b82 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2019

  1. Configuration menu
    Copy the full SHA
    0ee9e67 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2019

  1. [spec] Use optional data instance, not data address (#93)

    data.drop must update the store, not the frame. There may be multiple
    copies of the frame, so any updates will only update once. We can make
    sure that all copies are updated by using an indirection through data
    addresses and updating the store instead.
    
    See discussion in PR #92.
    binji authored Jun 8, 2019
    Configuration menu
    Copy the full SHA
    80aea4a View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2019

  1. [spec] Add table.init, elem.drop exec text (#95)

    This also adds `table.set` and `table.get` administrative instructions.
    Only `table.set` is used for now, but `table.copy` will use both.
    binji authored Jun 28, 2019
    Configuration menu
    Copy the full SHA
    983df68 View commit details
    Browse the repository at this point in the history
  2. Update overview for the zero-byte OOB case (#100)

    It's only a trap if a byte is accessed out-of-bounds, not if the
    destination or source index is out-of-bounds. This only makes a
    difference when the length is zero, in which case the previous behavior
    would trap, and the new behavior will be a no-op.
    binji authored Jun 28, 2019
    Configuration menu
    Copy the full SHA
    d976981 View commit details
    Browse the repository at this point in the history
  3. [spec] Update text for zero-byte OOB case (#101)

    Also fix some typos from previous CL (see macros.def)
    binji authored Jun 28, 2019
    Configuration menu
    Copy the full SHA
    8c6ea22 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d18ec64 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2019

  1. Configuration menu
    Copy the full SHA
    07c57f1 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2019

  1. Merge pull request #38 from lars-t-hansen/max_tables

    Increase the table count limit to 100,000
    binji authored Jul 7, 2019
    Configuration menu
    Copy the full SHA
    aa596e5 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2019

  1. [spec] Add table.copy exec text (#105)

    * [spec] Add  exec text
    
    * Update document/core/exec/instructions.rst
    
    Co-Authored-By: Andreas Rossberg <rossberg@mpi-sws.org>
    
    * Update document/core/exec/instructions.rst
    
    Co-Authored-By: Andreas Rossberg <rossberg@mpi-sws.org>
    
    * Update document/core/exec/instructions.rst
    
    Co-Authored-By: Andreas Rossberg <rossberg@mpi-sws.org>
    
    * Apply suggestions from code review
    
    Co-Authored-By: Andreas Rossberg <rossberg@mpi-sws.org>
    2 people authored and binji committed Jul 11, 2019
    Configuration menu
    Copy the full SHA
    600c524 View commit details
    Browse the repository at this point in the history
  2. Polish table.init exec spec (#104)

    * Polish table.init exec spec
    
    * table.set and table.init don't have the same imm.
    
    * Update document/core/exec/instructions.rst
    
    Co-Authored-By: Andreas Rossberg <rossberg@mpi-sws.org>
    2 people authored and binji committed Jul 11, 2019
    Configuration menu
    Copy the full SHA
    fd48080 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2019

  1. [spec] Add memory.copy exec text (#106)

    Also clean up some `table.copy` text.
    
    * WIP on fixes; checkpoint to avoid working over ssh
    * Address comments and other fixes
    * Add missing `if n=0` case to `memory.fill` and `memory.init`
    * Move `n=0` case to the top in `memory.fill`
    * Use `\vconst` to ensure constants are well-formed
    * Use 3 spaces instead of 4 in `memory.copy` and `table.copy` to prevent
      double-spaced numeric list
    * Add `_t` subscript to '`\vconst`
    * Add cnt=1 case
    * Make prose match formal
    binji authored Jul 23, 2019
    Configuration menu
    Copy the full SHA
    820bd12 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2019

  1. Change element segment encoding (#108)

    * Change element segment encoding
    
    * Change table index letter
    gahaas authored and binji committed Aug 1, 2019
    Configuration menu
    Copy the full SHA
    aadc467 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2019

  1. Update some links (#52)

    chicoxyzzy authored and rossberg committed Aug 21, 2019
    Configuration menu
    Copy the full SHA
    1f0d158 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2019

  1. Configuration menu
    Copy the full SHA
    c69a117 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2019

  1. Adjust element segment encoding to match the bulk-memory proposal (#53)

    * Adjust element segment encoding to match the bulk-memory proposal
    
    * Update interpreter/binary/encode.ml
    
    Co-Authored-By: Andreas Rossberg <rossberg@mpi-sws.org>
    
    * Address comments
    gahaas authored and rossberg committed Sep 11, 2019
    Configuration menu
    Copy the full SHA
    3d87cfa View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2019

  1. Configuration menu
    Copy the full SHA
    bc81602 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2019

  1. Configuration menu
    Copy the full SHA
    d5101bc View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2019

  1. Fix typo in validation of br_table (#56)

    eqrion authored and rossberg committed Sep 21, 2019
    Configuration menu
    Copy the full SHA
    c1a0415 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2019

  1. Configuration menu
    Copy the full SHA
    b1830ae View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2019

  1. Segment refactoring (#113)

    Refactor segment representation in AST (in both spec and interpreter) by separating out a `segment_mode`.
    
    Other changes in Spec:
    - Various fixes to text format grammar of segments.
    - Factor out elemkind in binary format.
    - Add note about possible future extension of element kinds.
    - Add note about interpretation of segment kinds as bitfields.
    - Fix some cross references.
    
    Other changes in Interpreter:
    - Rename {table,memory}_segment to {elem,data}_segment.
    - Some rename elem to elem_expr and global.value to global.ginit for consistency with spec.
    - Decode the elem segment kind as vu32 to maintain backwards compat.
    - Some code simplifications / beautifications.
    rossberg authored Oct 7, 2019
    Configuration menu
    Copy the full SHA
    f47a675 View commit details
    Browse the repository at this point in the history
  2. [spec] Specify instantiate (#114)

    Incorporate active/passive segments into instantiation. While doing so, drop the notion of segment types as well as initelem/initdata administrative instructions and express the latter in terms of table.init and memory.init instructions. Adjust interpreter accordingly.
    rossberg authored Oct 7, 2019
    Configuration menu
    Copy the full SHA
    df2a55f View commit details
    Browse the repository at this point in the history
  3. [interpreter] Use small-step semantics (#115)

    Implement bulk memory operations in small-step semantics, as in spec.
    
    Minor fixes:
    - In spec, memory.copy was missing use of \vconst in the backwards case
    - In interpreter & test, memory.init still trapped if segment has been dropped but length parameter was 0.
    rossberg authored Oct 7, 2019
    Configuration menu
    Copy the full SHA
    8db23a9 View commit details
    Browse the repository at this point in the history
  4. Polish text format (#119)

    Fix a couple of parser omissions regarding elem & data syntax. Refactor grammar in spec slightly for more clarity. Adjust tests.
    rossberg authored Oct 7, 2019
    Configuration menu
    Copy the full SHA
    b95f821 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4f9ae30 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9aef0c5 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2019

  1. Configuration menu
    Copy the full SHA
    074a6fa View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2019

  1. Fix test expectation (#58)

    gahaas authored and rossberg committed Oct 29, 2019
    Configuration menu
    Copy the full SHA
    1e05d9b View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2019

  1. Configuration menu
    Copy the full SHA
    e66f532 View commit details
    Browse the repository at this point in the history
  2. [spec] Bounds check bulk-memory before execution (#123)

    Spec issue: WebAssembly/bulk-memory-operations#111
    
    This commit changes the semantics of bulk-memory instructions to perform
    an upfront bounds check and trap if any access would be out-of-bounds without
    writing.
    
    This affects the following:
     * memory.init/copy/fill
     * table.init/copy (fill requires reftypes)
     * data segment init (lowers to memory.init)
     * elem segment init (lowers to table.init)
    eqrion authored and rossberg committed Nov 14, 2019
    Configuration menu
    Copy the full SHA
    be7ce1b View commit details
    Browse the repository at this point in the history
  3. Fix layout

    rossberg committed Nov 14, 2019
    Configuration menu
    Copy the full SHA
    34a7ebe View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2019

  1. Configuration menu
    Copy the full SHA
    24b0882 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2019

  1. Configuration menu
    Copy the full SHA
    303c942 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2019

  1. [interpreter] Simplify zero-len and drop semantics (#126)

    * [interpreter] Simplify zero-len and drop semantics
    
    * Update overview
    
    * [spec] Change drop semantics
    
    * [spec] Forgot to adjust prose for *.init ops
    
    * [test] Update generated tests for OOBs and dropping changes (#131)
    rossberg authored Nov 22, 2019
    Configuration menu
    Copy the full SHA
    b2a5c4f View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2019

  1. [spec] Adapt OOB behaviour in spec; store typing (#129)

    * [interpreter] Simplify zero-len and drop semantics
    
    * Update overview
    
    * [spec] Change drop semantics
    
    * [spec] Forgot to adjust prose for *.init ops
    
    * [spec] Adapt to early OOB checks
    
    * [spec] Fix OOB for table rules
    
    * [spec] Spec memory OOB
    
    * [spec] Extend store typing to elem and data instances
    
    * Apply suggestions from code review
    
    Co-Authored-By: Ryan Hunt <rhunt@eqrion.net>
    
    * Comments
    
    * [spec] Fix uses of table.set
    rossberg authored Nov 23, 2019
    Configuration menu
    Copy the full SHA
    1e29660 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2019

  1. Configuration menu
    Copy the full SHA
    d4bc208 View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2019

  1. New segment encoding (#130)

    * Fix outdated stuff
    
    * Update Overview.md
    
    * Update Overview.md
    
    * Update Overview.md
    
    * Clarify zero table index
    
    * Address review comments
    lars-t-hansen authored Dec 16, 2019
    Configuration menu
    Copy the full SHA
    82be3c0 View commit details
    Browse the repository at this point in the history
  2. Delete mentions of copying order in Overview.md (#134)

    After the spec change in #126, byte copying order is not observable.
    aheejin authored Dec 16, 2019
    Configuration menu
    Copy the full SHA
    a00705b View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2020

  1. Rebase on bulk proposal (#65)

    Lots of merge conflicts to resolve. I hope I didn't screw up...
    rossberg authored Jan 10, 2020
    Configuration menu
    Copy the full SHA
    e383b99 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2020

  1. Configuration menu
    Copy the full SHA
    fd804cf View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2020

  1. Configuration menu
    Copy the full SHA
    97dec20 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2020

  1. Fix various TODOs (#72)

    * Move to small-step semantics for table instructions [interpreter].
    * Add back-compat sugar for table instructions omitting table index [spec/interpreter].
    * Add optional item keyword to syntactically represent multi-instr element expressions, analogous to syntax for offset. [spec/interpreter]
    * Generalise bulk table ops to multiple tables [spec].
    * A few smaller todos in spec (segment instantiation, removing funcelems).
    rossberg authored Jan 16, 2020
    Configuration menu
    Copy the full SHA
    3e32403 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    64f9837 View commit details
    Browse the repository at this point in the history
  3. [spec] Fix merge artefact

    rossberg committed Jan 16, 2020
    Configuration menu
    Copy the full SHA
    2719ec3 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2020

  1. Add test ensuring data segment index is unsigned (#136)

    Decoding 64 as an signed LEB will produce the value -64 = 4294967232.
    This change adds tests to ensure that the segment is decoded as 64.
    binji authored Jan 28, 2020
    Configuration menu
    Copy the full SHA
    11388e7 View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2020

  1. Configuration menu
    Copy the full SHA
    22ce5e3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fc990e3 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2020

  1. Configuration menu
    Copy the full SHA
    404b7e7 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2020

  1. Configuration menu
    Copy the full SHA
    d258902 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2020

  1. [spec] Typo

    rossberg committed Feb 19, 2020
    Configuration menu
    Copy the full SHA
    774dd1d View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2020

  1. Configuration menu
    Copy the full SHA
    a1bfe97 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2020

  1. Configuration menu
    Copy the full SHA
    7cfa199 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2020

  1. Test that drop instructions work w/on memory/table (#140)

    This was fixed in the interpreter in the last PR, but only fixed the
    messages in various assertions. This commit adds a new explicit test for
    this.
    binji authored Feb 28, 2020
    Configuration menu
    Copy the full SHA
    ffdbb6e View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2020

  1. Change validation error -> malformed in Overview (#143)

    Fixes #142. A mismatched `DataCount` is malformed, not a validation error.
    binji authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    060678f View commit details
    Browse the repository at this point in the history
  2. Fix {memory,table}.init immediate order (#147)

    The data/elem index comes before the memory/table index.
    binji authored Mar 23, 2020
    Configuration menu
    Copy the full SHA
    d7f0241 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2020

  1. [js-api] Extend with reference types support. (#79)

    * [js-api] Remove spurious argument to ToWebAssemblyValue().
    
    Fixes #51.
    
    * [js-api] Extend the WebAssembly.Table API.
    
    Fixes #22.
    Fixes #67.
    Ms2ger authored Mar 24, 2020
    Configuration menu
    Copy the full SHA
    2028231 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1568b35 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2020

  1. Configuration menu
    Copy the full SHA
    b4637e9 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2020

  1. Configuration menu
    Copy the full SHA
    30002e7 View commit details
    Browse the repository at this point in the history
  2. Merge fixups

    rossberg committed Apr 2, 2020
    Configuration menu
    Copy the full SHA
    9f6a39f View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2020

  1. Configuration menu
    Copy the full SHA
    c0f30ca View commit details
    Browse the repository at this point in the history

Commits on May 7, 2020

  1. Remove subtyping (#87)

    Per the vote on #69, this PR removes subtyping from the proposal. List of changes:
    
    * Syntax:
      - remove `nullref` type
      - rename `anyref` type to `externref`
      - extend `ref.null` and `ref.is_null` instructions with new immediate of the form `func` or `extern` (this will later have to generalise to a `constype` per the [typed references proposal](https://github.com/WebAssembly/function-references))
    * Typing rules:
      - `ref.null`, `ref.is_null`: determine reference type based on new immediate
      - `select`, `call_indirect`, `table.copy`, `table.init`: drop subtyping
      - `br_table`: revert to rule requiring same label types
      - `elem` segment: drop subtyping
      - `global` import: drop subtyping (link time)
    * Remove subtyping rules and bottom type.
    * Revert typing algorithm (interpreter and spec appendix).
    * JS API:
      - remove `"nullref"`
      - rename `"anyref"` to `"externref"`
    * Scripts:
      - rename `ref` result to `ref.extern`
      - rename `ref.host` value to `ref.extern`
      - drop subtyping from invocation type check
    * JS translation:
      - extend harness with separate eq functions for each ref type
    * Adjust tests:
      - apply syntax changes
      - remove tests for subtyping
      - change tests exercising subtyping in other ways
    rossberg authored May 7, 2020
    Configuration menu
    Copy the full SHA
    551e876 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2020

  1. Merge upstream (#89)

    * Upgrade to latest Sphinx release (2.4.4) (#1171)
    
    Fixes #1157
    
    * Support 4GB of memory both in initial and max.
    
    * [interpreter] Strictify and specify .bin.wast format (#1173)
    
    * Merge nontrapping-float-to-int proposal into spec (#1143)
    
    See the non-trapping-float-to-int-conversions proposal here:
    
    https://github.com/WebAssembly/nontrapping-float-to-int-conversions
    
    * Merge sign-extension-ops proposal into spec (#1144)
    
    See the sign-extension-ops proposal here:
    
    https://github.com/WebAssembly/sign-extension-ops
    
    This PR is built on top of #1143 (merge nontrapping-float-to-int).
    
    * Merge multi-value proposal into spec (#1145)
    
    See the multi-value proposal here:
    
    https://github.com/WebAssembly/multi-value
    
    This PR is built on top of the following PRs:
    
    * #1143 (merge nontrapping-float-to-int)
    * #1144 (merge sign-extension-ops)
    
    * [interpreter] Remove junk in README
    
    * [interpreter] Remove junk in README
    
    * [spec] Fix grammar for fractions (#1178)
    
    * [spec] Add missing i64.extend32_s syntax (#1179)
    
    * [js-api][web-api] Fix some markup errors.
    
    * Add a README to the proposals directory.
    
    * Add more address overflow tests (#1188)
    
    There are already tests for effective address overflow, but those have a
    large value baked into the offset. These tests all use `1` as the
    immediate offset, and use `-1` for the address on the stack, which may
    be compiled differently.
    
    * Add a test for non-treelike behavior of stack (#961)
    
    We've recently found a bug in a WebAssembly library we've been working
    with where we're mapping WebAssembly to a tree-like IR internally. The
    way we parse into this representation, however, has a bug when the
    function isn't itself tree-like but rather exibits properties that
    exploit a stack machine. For example this isn't so straightforward to
    represent in a tree-like fashion:
    
        (import "" "a" (func $foo))
        (import "" "b" (func $foo (result i32)))
        (func (result i32)
          call $b
          call $b
          call $a
          i32.xor)
    
    The extra `call $a` in the middle is valid `WebAssembly` but needs
    special treatment when converting to a more tree-like IR format. I
    figured it'd be good to ensure there's a spec test covering this case as
    we currently pass the suite of spec tests but still contain this bug!
    
    * [js-api] Various editorial improvements.
    
    * [js-api] Replace pseudo-ASCII characters by normal ones.
    
    This also required disambiguating the references to "module", as there are now
    two definitions by that name.
    
    * [js-api] Improve prose in 'run a host function'.
    
    * [js-api] Improve some of the multi-value prose.
    
    * Synchronize js-api tests.
    
    * Add script to synchronize js-api tests.
    
    Co-authored-by: Ng Zhi An <ngzhian@gmail.com>
    Co-authored-by: Alon Zakai <azakai@google.com>
    Co-authored-by: Ben Smith <binji@chromium.org>
    Co-authored-by: Ms2ger <Ms2ger@igalia.com>
    Co-authored-by: Alex Crichton <alex@alexcrichton.com>
    6 people authored May 12, 2020
    Configuration menu
    Copy the full SHA
    5567def View commit details
    Browse the repository at this point in the history
  2. Adjust readme

    rossberg committed May 12, 2020
    Configuration menu
    Copy the full SHA
    e56ef21 View commit details
    Browse the repository at this point in the history
  3. Update test/harness/*_index.js for removing subtyping (#88)

    This applies the changes made to 'script/js.ml' to the
    standalone test harnesses.
    eqrion authored May 12, 2020
    Configuration menu
    Copy the full SHA
    c8d58c7 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2020

  1. Configuration menu
    Copy the full SHA
    b728bbc View commit details
    Browse the repository at this point in the history
  2. Update ref.null encoding after subtyping change (#149)

    Issue WebAssembly/reference-types#69 requires
    that `ref.null` instructions include a reference type immediate. This
    concept isn't present in the bulk-memory proposal, but the encoding is
    (in element segment expressions).
    
    This change updates the binary and text format, but not the syntax. This
    is OK for now, since the only reference type allowed here is `funcref`.
    binji authored May 13, 2020
    Configuration menu
    Copy the full SHA
    37e44c9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    996ef3f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dcfc963 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    66d90a7 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2020

  1. Configuration menu
    Copy the full SHA
    c90e289 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2020

  1. Re-add test that fails with a bottom type (#93)

    The original commit to add a bottom type removed this test as it
    would now unexpectedly validate. Now that a bottom type is removed
    it would be good to keep it.
    eqrion authored May 18, 2020
    Configuration menu
    Copy the full SHA
    0b6f675 View commit details
    Browse the repository at this point in the history
  2. [tests] Delete leftover harness function (#92)

    In the generated test files the generic imports contained a function that does not exist anymore. This caused all tests to fail. This PR removes the function from the imports.
    gahaas authored May 18, 2020
    Configuration menu
    Copy the full SHA
    a83b16e View commit details
    Browse the repository at this point in the history

Commits on May 19, 2020

  1. Configuration menu
    Copy the full SHA
    f23154e View commit details
    Browse the repository at this point in the history

Commits on May 20, 2020

  1. Configuration menu
    Copy the full SHA
    8dd9a90 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2020

  1. [js-api] More subtyping removal. (#96)

    * [js-api] Link to the fork for the core specification.
    
    * [js-api] More subtyping removal.
    
    * [js-api] Fix bugs in Table constructor.
    
    * Add an assertion to ToWebAssemblyValue.
    Ms2ger authored May 25, 2020
    Configuration menu
    Copy the full SHA
    5bc46bb View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2020

  1. Add select to Overview

    rossberg authored Jun 5, 2020
    Configuration menu
    Copy the full SHA
    b4f254b View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2020

  1. Fix off-by-one in spec

    rossberg committed Jun 9, 2020
    Configuration menu
    Copy the full SHA
    f18a4eb View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2020

  1. Configuration menu
    Copy the full SHA
    6c0beae View commit details
    Browse the repository at this point in the history
  2. [interpreter] Hot fix

    rossberg committed Jun 10, 2020
    Configuration menu
    Copy the full SHA
    b583fad View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7ab5846 View commit details
    Browse the repository at this point in the history
  4. [interpreter] ARgh

    rossberg committed Jun 10, 2020
    Configuration menu
    Copy the full SHA
    da20676 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2020

  1. Configuration menu
    Copy the full SHA
    9df8a3e View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2020

  1. Configuration menu
    Copy the full SHA
    401c8eb View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2020

  1. Add a test for mutating externref globals (#104)

    While `linking.wast` tests that we can link modules that are importing and
    exporting mutable `externref` globals, there were no tests exercising
    `global.{get,set}` on mutable `externref` globals.
    fitzgen authored Jul 16, 2020
    Configuration menu
    Copy the full SHA
    1e652dd View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2020

  1. Configuration menu
    Copy the full SHA
    c360086 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2020

  1. Configuration menu
    Copy the full SHA
    50e699f View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2020

  1. Configuration menu
    Copy the full SHA
    4722e6b View commit details
    Browse the repository at this point in the history
  2. Update document to use u32 for opcode after prefix (#155)

    This has already been updated in the upstream spec, but also needs to be
    fixed in proposals.
    binji authored Aug 28, 2020
    Configuration menu
    Copy the full SHA
    ec4bcea View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2020

  1. Merge pull request #108 from aheejin/remove_ref_is_null_type

    Remove type annotation on ref.is_null in overview
    binji authored Sep 8, 2020
    Configuration menu
    Copy the full SHA
    7708eb4 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2020

  1. fix decription of ref.func

    The incorrect description is a leftover from the original proposal,
    which specified a ref.eq instruction:
    WebAssembly/reference-types@1f29a8e#diff-90422c6925e039f03d4bcf0359947b08R187-R190
    turbolent authored Sep 12, 2020
    Configuration menu
    Copy the full SHA
    7ae4890 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2020

  1. Merge pull request #109 from turbolent/patch-1

    Fix decription of ref.func
    binji authored Sep 14, 2020
    Configuration menu
    Copy the full SHA
    8f5038e View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2020

  1. Configuration menu
    Copy the full SHA
    4495265 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2020

  1. Configuration menu
    Copy the full SHA
    2ccd487 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2020

  1. [test] Fix table index encoding (#154)

    The encoding of the table index in binary-leb128.wast is incorrect with the bulk-memory extensions, see WebAssembly/bulk-memory-operations#153. I saw and fixed the issue first in the reference types proposal (see WebAssembly/reference-types#95), but apparently it also exists here.
    gahaas authored Oct 12, 2020
    Configuration menu
    Copy the full SHA
    736bda2 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2020

  1. [spec] Fix xref

    rossberg committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    2799329 View commit details
    Browse the repository at this point in the history
  2. [spec] Fix xref

    rossberg committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    28c3a5b View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2020

  1. Configuration menu
    Copy the full SHA
    9ad83c3 View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2020

  1. Configuration menu
    Copy the full SHA
    596e5f6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    244c841 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2020

  1. Configuration menu
    Copy the full SHA
    ad009e0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    173ea33 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2020

  1. Configuration menu
    Copy the full SHA
    d6046b8 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2021

  1. Fix indentation (#126)

    chicoxyzzy authored Jan 14, 2021
    Configuration menu
    Copy the full SHA
    c19b709 View commit details
    Browse the repository at this point in the history
  2. Fix some js-api bugs. (#128)

    Ms2ger authored Jan 14, 2021
    Configuration menu
    Copy the full SHA
    7c7bd2a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dd92422 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2021

  1. Configuration menu
    Copy the full SHA
    fc4b17f View commit details
    Browse the repository at this point in the history
  2. Merge upstream (#130)

    rossberg authored Jan 20, 2021
    Configuration menu
    Copy the full SHA
    cbb4030 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2021

  1. Configuration menu
    Copy the full SHA
    44b626b View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2021

  1. Merge upstream (#157)

    rossberg authored Feb 11, 2021
    Configuration menu
    Copy the full SHA
    8546739 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    33da5b9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1f4297e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1698322 View commit details
    Browse the repository at this point in the history
  5. Merge upstream (#133)

    rossberg authored Feb 11, 2021
    Configuration menu
    Copy the full SHA
    063d34e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    54dde91 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2021

  1. Configuration menu
    Copy the full SHA
    1dca287 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c8ff382 View commit details
    Browse the repository at this point in the history
  3. Update algorithm.rst

    rossberg authored Mar 10, 2021
    Configuration menu
    Copy the full SHA
    38b0c57 View commit details
    Browse the repository at this point in the history
  4. Fix test failures from merge

    rossberg committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    fa006af View commit details
    Browse the repository at this point in the history