spec
spec copied to clipboard
WebAssembly specification, reference interpreter, and test suite.
This short review is for is a request for transition for all 3 WebAssembly specifications, namely the [core](https://www.w3.org/TR/wasm-core-2/) spec, which defines the core code format and semantics; the [JS API](https://www.w3.org/TR/wasm-core-2/)...
From https://webassembly.github.io/spec/core/syntax/modules.html#element-segments: > A declarative element segment is not available at runtime but merely serves to forward-declare references that are formed in code with instructions like. `table.init` requires an element...
The validation algorithm from the appendix contains a (afaict superflous) `push_vals(in)`: https://github.com/WebAssembly/spec/blob/abc8d16dcb4b36f818af9ee2fa9b1bf0b50503cb/document/core/appendix/algorithm.rst?plain=1#L112-L115 This does not match the prose description following: https://github.com/WebAssembly/spec/blob/abc8d16dcb4b36f818af9ee2fa9b1bf0b50503cb/document/core/appendix/algorithm.rst?plain=1#L132-L133 Based on my personal understanding this would mean that...
Currently the JS/HTML test conversion outputs a test name for each test, but each name is generic (such as "#2 Test that WebAssembly compilation succeeds", where the only thing unique...
Binary format reference: https://webassembly.github.io/spec/core/binary/instructions.html#table-instructions Text format reference: https://webassembly.github.io/spec/core/text/instructions.html#table-instructions In the binary format `elemidx` comes before optional `tableidx`. In the text format the optional `tableidx` comes first. Should they be consistent?...
Ref https://github.com/tc39/proposal-is-error/issues/20
# Problem `WebAssembly.Memory` instances are getting a `toResizableBuffer()` method per #1292. Resizable ArrayBuffers have a [`maxByteLength` property](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/maxByteLength). For 32bit memories, the maximum spec byte size of a `WebAssembly.Memory` is 65536...
Resolves #1909.
ToJSValue asserts that the input type is neither v128 nor `ref.exn exnaddr`. To enforce this, there are several places in the spec that say something like "If resultType is v128...
The JS-API for compiling modules takes a `BufferSource` for accepting bytecode [1]. This does not allow shared array buffers or shared array buffer views [2]. Firefox until Fx138 actually supported...