diff options
| author | Luke Wagner <luke@mozilla.com> | 2017-02-26 23:41:57 -0600 |
|---|---|---|
| committer | Luke Wagner <luke@mozilla.com> | 2017-02-26 23:41:57 -0600 |
| commit | e9f707cef4e29eeeb93ff4fdc533e0f2b104ef6b (patch) | |
| tree | 15c4568d0a11cda03928a2faca800ffcb8e216a6 /JS.md | |
| parent | 1be98b3f11979a5ca7a42a5c69818313a46cbc81 (diff) | |
| download | nanowasm-design-e9f707cef4e29eeeb93ff4fdc533e0f2b104ef6b.tar.gz | |
Revert "Split out compileAndInstantiate from instantiate"
This reverts commit 1be98b3f11979a5ca7a42a5c69818313a46cbc81.
Diffstat (limited to 'JS.md')
| -rw-r--r-- | JS.md | 37 |
1 files changed, 4 insertions, 33 deletions
@@ -111,7 +111,8 @@ If neither of the following overloads match, then the returned `Promise` is with a [`TypeError`](https://tc39.github.io/ecma262/#sec-native-error-types-used-in-this-standard-typeerror). ``` -Promise<WebAssembly.Instance> instantiate(BufferSource bytes [, importObject]) +Promise<{module:WebAssembly.Module, instance:WebAssembly.Instance}> + instantiate(BufferSource bytes [, importObject]) ``` This description applies if the first argument is a @@ -122,7 +123,8 @@ from `bytes` as described in the [`WebAssembly.Module` constructor](#webassembly and then instantiate the resulting `Module` with `importObject` as described in the [`WebAssembly.Instance` constructor](#webassemblyinstance-constructor). On success, the `Promise` is [fulfilled](http://tc39.github.io/ecma262/#sec-fulfillpromise) -with the instance. +with a plain JavaScript object pair `{module, instance}` containing the resulting +`WebAssembly.Module` and `WebAssembly.Instance`. The 2 properties `module` and `instance` of the returned pair are configurable, enumerable and writable. On failure, the `Promise` is [rejected](http://tc39.github.io/ecma262/#sec-rejectpromise) with a @@ -146,37 +148,6 @@ with the resulting `WebAssembly.Instance` object. On failure, the `Promise` is [rejected](http://tc39.github.io/ecma262/#sec-rejectpromise) with a `WebAssembly.CompileError`, `WebAssembly.LinkError`, or `WebAssembly.RuntimeError`, depending on the cause of failure. -#### `WebAssembly.compileAndInstantiate` - -The `compileAndInstantiate` function has the signature: - -``` -Promise<{module:WebAssembly.Module, instance:WebAssembly.Instance}> - compileAndInstantiate(BufferSource bytes [, importObject]) -``` - -If the given `bytes` argument is not a -[`BufferSource`](https://heycam.github.io/webidl/#common-BufferSource), -the returned `Promise` is [rejected](http://tc39.github.io/ecma262/#sec-rejectpromise) -with a [`TypeError`](https://tc39.github.io/ecma262/#sec-native-error-types-used-in-this-standard-typeerror). - -This function starts an asynchronous task that first compiles a `WebAssembly.Module` -from `bytes` as described in the [`WebAssembly.Module` constructor](#webassemblymodule-constructor) -and then instantiate the resulting `Module` with `importObject` as described in the -[`WebAssembly.Instance` constructor](#webassemblyinstance-constructor). -On success, the `Promise` is [fulfilled](http://tc39.github.io/ecma262/#sec-fulfillpromise) -with a plain JavaScript object pair `{module, instance}` containing the resulting -`WebAssembly.Module` and `WebAssembly.Instance`. The 2 properties `module` and -`instance` of the returned pair are configurable, enumerable and writable. - -On failure, the `Promise` is -[rejected](http://tc39.github.io/ecma262/#sec-rejectpromise) with a -`WebAssembly.CompileError`, `WebAssembly.LinkError`, or `WebAssembly.RuntimeError`, depending on the cause of failure. - -The asynchronous compilation is logically performed on a copy of the state of -the given `BufferSource` captured during the call to `instantiate`; subsequent mutations -of the `BufferSource` after `instantiate` return do not affect ongoing compilations. - ## `WebAssembly.Module` Objects A `WebAssembly.Module` object represents the stateless result of compiling a |
