aboutsummaryrefslogtreecommitdiff
path: root/JS.md
Commit message (Collapse)AuthorAgeFilesLines
* Add links redirecting users to the formal spec (#1260)Ben Smith2019-01-231-0/+2
| | | See issue #1258.
* rewrite URLs (http:// -> https://) (#1205)Romario Maxwell2018-05-041-39/+39
| | | | | | All the modified URLs were checked to see if they are available over HTTPS by opening a new tab in the browser, entering the URL in the address bar, changing http:// to https:// and then verifying if the resource displayed is the same over HTTP and HTTPS for each URL.
* Remove references to streaming compilation (#1156)Joseph Richey2017-11-151-5/+0
| | | | PR #1065 removed the referenced documenation on streaming compilation. This commit just removes the reference and surrounding paragraph.
* OOM (#1059)JF Bastien2017-07-131-0/+5
| | | Addresses #903.
* Rename Response based compile + instantiate *Streaming. (#1068)Brad Nelson2017-05-181-3/+10
| | | | Clarify how the source parameter is resolved. Clarify how the result of instantiate* is described.
* Make Instance.exports a getter (#1062)Luke Wagner2017-05-151-3/+13
|
* Clarify generativity of JS host functions values (#987)rossberg-chromium2017-05-151-7/+8
|
* WebAssembly JS API declaration file for TypeScript added (#1029)Nidin Vinayakan2017-04-201-0/+2
|
* Fix markup of algorithms (#1045)rossberg-chromium2017-04-191-62/+62
|
* WebAssembly.instantiate could be specified more explicitly (#1018)Keith Miller2017-03-221-4/+6
| | | | | | | | | * WebAssembly.instantiate could be specified more explicitly The current wording for WebAssembly.instantiate is a little confusing. It's not clear exactly what it means to run a task that does JS asynchronously as JS is not specified to be asynchronous. This change clarifies that instantiate should queue a task to do the JS work. Additionally, an implementor may wish to do more asynchronous work after they have looked at a module's imports. This change also explicitly allows implementors to do more asynchronous work.
* Revert "Split out compileAndInstantiate from instantiate"Luke Wagner2017-02-261-33/+4
| | | | This reverts commit 1be98b3f11979a5ca7a42a5c69818313a46cbc81.
* Split out compileAndInstantiate from instantiateLuke Wagner2017-02-261-4/+33
|
* Adding Response based versions of compile, and instantiate. (#991)Brad Nelson2017-02-241-1/+1
| | | | | | This allows us to support streaming compilation and origin bound sources for WebAssembly modules. Proposes a mime type of application/wasm for WebAssembly modules.
* Clarify WebAssembly.Table "maximum" property (#963)Mircea Trofin2017-01-221-3/+3
| | | Text was ambiguous when RangeError is thrown and when the property is None.
* WebAssembly.instance's pair return property attributes (#962)Mircea Trofin2017-01-201-1/+3
| | | Clarified the attributes of the {module, instance} return
* Identity&order in values returned by some APIs (#957)Mircea Trofin2017-01-171-6/+9
| | | | | | | | | | | * Identity&order in values returned by some APIs Clarified that Module.imports, exports, and customSections return new Arrays. Clarified order in imports/exports * ordering of imports/exports match custom sections verbiage * Simpler sentences
* Revert "Clarify Table constructor behavior re. 'maximum'"Mircea Trofin2017-01-171-3/+3
| | | | This reverts commit edae7995cf61a46279702893fe85bd9168b2b0a6.
* Clarify Table constructor behavior re. 'maximum'Mircea Trofin2017-01-171-3/+3
| | | The previous reading suggested that if we don't throw RangeError, we set `maximum` to None - even if we got a valid value for it.
* Clarify when TypeError is thrown for exotic fcts (#953)Mircea Trofin2017-01-131-1/+1
| | | Making it crystal clear when TypeError is thrown for invalidly typed exotic function arguments/return vals.
* Add @@toStringTag to JS API prototypes (#944)Luke Wagner2017-01-131-0/+35
|
* Update the wast format (#951)wanderer2017-01-131-2/+2
|
* Add memory/table import validation note (#945)Luke Wagner2017-01-111-2/+9
| | | | | | * Add import validation note * Change function signature validation to note existing check in Eval.init instead
* Throw immediately when calling into or out of JS with i64 arg/ret (#923)Luke Wagner2017-01-101-8/+20
| | | | | | | | * Eager i64 errors * Mention undefined receiver * Fix typo in import conditions
* Fix value creation for imported tables (#911)rossberg-chromium2017-01-091-17/+29
|
* customSections order (#935)JF Bastien2017-01-041-0/+3
| | | Duplicates currently aren't ordered.
* Update JS.md sample (#925)Luke Wagner2017-01-031-14/+12
|
* Refine (Memory|Table).prototype.grow (#922)Luke Wagner2017-01-031-11/+26
|
* Checks are performed during validation, not construction (#933)JF Bastien2016-12-291-1/+1
| | | Ass seen in #932.
* Define the exception type for stack overflows in JS.mdgahaas2016-12-141-0/+6
|
* Introduce WebAssembly.LinkError (#901)rossberg-chromium2016-12-141-22/+26
|
* Instance should assert globals are immutable (#893)Keith Miller2016-12-091-1/+2
| | | As far as I can tell, validation of the Imports section guarantees that all imported globals are immutable. It's unnecessary to have an explicit check in the Instance constructor.
* Specify that inconsistent limits cause a RangeError (#890)rossberg-chromium2016-12-091-0/+2
|
* Fix JS function names (#887)Luke Wagner2016-12-051-5/+5
|
* Tweak exports object (#880)Luke Wagner2016-12-011-35/+9
|
* Add Module.sections (#877)Luke Wagner2016-11-291-3/+22
| | | | | | | | | | | | | | | | * Add Module.sections * Don't say 'instance' to avoid confusion * s/sections/userSections/ * Put ToString() back, for JS API regularity * Fix spelling of moduleObject * Clarify returning a copy * s/user|unknown/custom/ and in BinaryEncoding.md too
* JS API algorithms: use numbering (#871)JF Bastien2016-11-141-96/+96
| | | | | It's easier to refer to JS APIs using numbered lists rather than bullet indentations. This isn't perfect because Markdown tops out after some amount of numbering, but it's better than before! I think we'll separately want to rejigger some of the ordering of the algorithms. This change should be a no-op.
* Add Module.(import|exports) (#858)Luke Wagner2016-11-021-2/+40
| | | | | | * Add Module.(import|exports) * Change imports/exports to static functions
* Merge PostMVP into FutureFeatures for clarity. (#845)Brad Nelson2016-10-301-1/+1
|
* Prevent detachment of a Memory's ArrayBuffer (#843)Luke Wagner2016-10-291-0/+4
|
* Add WebAssembly.instantiate (#846)Luke Wagner2016-10-281-0/+43
| | | | * Add WebAssembly.instantiate
* Tagging future features with icon. (#839)Brad Nelson2016-10-271-11/+8
| | | Added brief item on multiple return.
* fix improperly spaced markdown blocks and typos (for formatting on website ↵Seth Thompson2016-10-261-0/+33
| | | | (#837)
* Update spec crossrefs (#827)rossberg-chromium2016-10-211-32/+32
|
* Update spec xrefsrossberg-chromium2016-10-181-17/+17
|
* Adapt to current spec and allow host functions as table elements (#817)rossberg-chromium2016-10-141-94/+85
|
* Throw `RangeError` for invalid sizes or indices (#821)rossberg-chromium2016-10-141-2/+6
| | | | | The `WebAssembly.RuntimeError` exception should be reserved for actual traps in WebAssembly code. API functions should otherwise use appropriate regular JS exceptions. In particular, this PR changes table/memory access and grow methods to throw a `RangeError` for out of bound sizes or indices. That is consistent with what their constructors do already.
* Tighten global import requirements (#816)Luke Wagner2016-10-141-4/+6
|
* Structured stack (#813)titzer2016-10-111-4/+4
| | | | | | | | | | | | | | | | | | | | * Rename AstSemantics.md to Semantics.md * Rewrite Semantics for structured stack machine * Update control instructions * Update nop * More tweaks * Update README.md * Update Semantics.md * Update Semantics.md * Address @rossberg-chromium comments
* Binary 0xc (#811)titzer2016-09-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Clarify that wasm may be viewed as either an AST or a stack machine. (#686) * Clarify that wasm may be viewed as either an AST or a stack machine. * Reword the introductory paragraph. * Add parens, remove "typed". * Make opcode 0x00 `unreachable`. (#684) Make opcode 0x00 `unreachable`, and move `nop` to a non-zero opcode. All-zeros is one of the more common patterns of corrupted data. This change makes it more likely that code that is accidentally zeroed, in whole or in part, will be noticed when executed rather than silently running through a nop slide. Obviously, this doesn't matter when an opcode table is present, but if there is a default opcode table, it would presumably use the opcodes defined here. * BinaryEncoding.md changes implied by #682 * Fix thinko in import section * Rename definition_kind to external_kind for precision * Rename resizable_definition to resizable_limits * Add opcode delimiter to init_expr * Add Elem section to ToC and move it before Data section to reflect Table going before Memory * Add missing init_expr to global variables and undo the grouped representation of globals * Note that only immutable globals can be exported * Change the other 'mutability' flag to 'varuint1' * Give 'anyfunc' its own opcode * Add note about immutable global import requirement * Remove explicit 'default' flag; make memory/table default by default * Change (get|set)_global opcodes * Add end opcode to functions * Use section codes instead of section names (rebasing onto 0xC instead of master) This PR proposes uses section codes for known sections, which is more compact and easier to check in a decoder. It allows for user-defined sections that have string names to be encoded in the same manner as before. The scheme of using negative numbers proposed here also has the advantage of allowing a single decoder to accept the old (0xB) format and the new (0xC) format for the time being. * Use LEB for br_table (#738) * Describe operand order of call_indirect (#758) * Remove arities from call/return (#748) * Limit varint sizes in Binary Encoding. (#764) * Global section (#771) global-variable was a broken anchor and the type of count was an undefined reference and inconsistent with all the rest of the sections. * Make name section a user-string section. * Update BinaryEncoding.md * Update BinaryEncoding.md * Use positive section code byte * Remove specification of name strings for unknown sections * Update BinaryEncoding.md * Remove repetition in definition of var(u)int types (#768) * Fix typo (#781) * Move the element section before the code section (#779) * Binary format identifier is out of date (#785) * Update BinaryEncoding.md to reflect the ml-proto encoding of the memory and table sections. (#800) * Add string back * Block signatures (#765) * Replace branch arities with block and if signatures. Moving arities to blocks has the nice property of giving implementations useful information up front, however some anticipated uses of this information would really want to know the types up front too. This patch proposes replacing block arities with function signature indices, which would provide full type information about a block up front. * Remove the arity operand from br_table too. * Remove mentions of "arguments". * Make string part of the payload * Remove references to post-order AST in BinaryEncoding.md (#801) * Simplify loop by removing its exit label. This removes loop's bottom label. * Move description of `return` to correct column (#804) * type correction and missing close quote (#805) * Remove more references to AST (#806) * Remove reference to AST in JS.md Remove a reference to AST in JS.md. Note that the ml-proto spec still uses the name `Ast.Module` and has files named `ast.ml`, etc, so leaving those references intact for now. * Use "instruction" instead of "AST operator" * Update rationale for stack machine * Update Rationale.md * Update discussion of expression trees * Update MVP.md * Update Rationale.md * Update Rationale.md * Remove references to expressions * Update Rationale.md * Update Rationale.md * Address review comments * Address review comments * Address review comments * Delete h
* Note that traps throw RuntimeErrors in JS.md (#802)Luke Wagner2016-09-221-2/+18
| | | | | | * Note that traps throw RuntimeErrors * Change 'innermost' to 'enclosing'