From c01a85c08973313b08dee7932c0d1b46256a1319 Mon Sep 17 00:00:00 2001 From: inokawa <48897392+inokawa@users.noreply.github.com> Date: Wed, 18 Aug 2021 12:42:30 +0900 Subject: Fix typo (#2071) --- .../javascript/reference/global_objects/webassembly/memory/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'files/ja/web/javascript/reference/global_objects/webassembly') diff --git a/files/ja/web/javascript/reference/global_objects/webassembly/memory/index.html b/files/ja/web/javascript/reference/global_objects/webassembly/memory/index.html index 9c93cf21cc..4064df7666 100644 --- a/files/ja/web/javascript/reference/global_objects/webassembly/memory/index.html +++ b/files/ja/web/javascript/reference/global_objects/webassembly/memory/index.html @@ -32,7 +32,7 @@ translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory
Memory.prototype.constructor
このオブジェクトのインスタンスを生成した関数を返します。既定では {{jsxref("WebAssembly.Memory()")}} コンストラクターです。
{{jsxref("WebAssembly/Memory/buffer","Memory.prototype.buffer")}}
-
メモリに格納されているバッファーを返すアクセサープロパティです。/dd>
+
メモリに格納されているバッファーを返すアクセサープロパティです。

インスタンスメソッド

-- cgit v1.2.3-54-g00ecf From 46fbca1c6143a6e0dc3a3f7480cfda1e1f2d150f Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Wed, 1 Sep 2021 23:56:24 +0900 Subject: Global_Objects/WebAssembly/validate を更新 (#2208) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Markdown化 - 2021/07/21 時点の英語版に同期 --- .../global_objects/webassembly/validate/index.html | 71 ---------------------- .../global_objects/webassembly/validate/index.md | 66 ++++++++++++++++++++ 2 files changed, 66 insertions(+), 71 deletions(-) delete mode 100644 files/ja/web/javascript/reference/global_objects/webassembly/validate/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/webassembly/validate/index.md (limited to 'files/ja/web/javascript/reference/global_objects/webassembly') diff --git a/files/ja/web/javascript/reference/global_objects/webassembly/validate/index.html b/files/ja/web/javascript/reference/global_objects/webassembly/validate/index.html deleted file mode 100644 index 14a9631831..0000000000 --- a/files/ja/web/javascript/reference/global_objects/webassembly/validate/index.html +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: WebAssembly.validate() -slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/validate -translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/validate ---- -
{{JSRef}} {{SeeCompatTable}}
- -

WebAssembly.validate() 関数は WebAssembly バイナリコードを含む 型付き配列 をバリデーションし、バイト列が有効な wasm モジュール (true) か、そうでないか (false) を返します。

- -

構文

- -
WebAssembly.validate(bufferSource);
- -

パラメータ

- -
-
bufferSource
-
バリデーションする WebAssembly バイナリコードを含む 型付き配列 か ArrayBuffer 。
-
- -

戻り値

- -

有効な wasm モジュール (true) か、そうでないか (false) を示す boolean 値。

- -

例外

- -

bufferSource が 型付き配列 か ArrayBuffer でない場合、{{jsxref("TypeError")}} がスローされます。

- -

- -

以下の例 (validate.html の ソースコード と 動作例 をご確認ください) は .wasm モジュールをフェッチして型付き配列に変換します。次に、 validate() メソッドを使用してモジュールが有効かどうかをチェックします。

- -
fetch('simple.wasm').then(response =>
-  response.arrayBuffer()
-).then(function(bytes) {
-  var valid = WebAssembly.validate(bytes);
-  console.log("The given bytes are "
-    + (valid ? "" : "not ") + "a valid wasm module");
-});
-
- -

仕様

- - - - - - - - - - - - - - - - -
仕様策定状況コメント
{{SpecName('WebAssembly JS', '#webassemblyvalidate', 'validate()')}}{{Spec2('WebAssembly JS')}}初回ドラフト定義。
- -

ブラウザ実装状況

- -
{{Compat("javascript.builtins.WebAssembly.validate")}}
- -

関連情報

- - diff --git a/files/ja/web/javascript/reference/global_objects/webassembly/validate/index.md b/files/ja/web/javascript/reference/global_objects/webassembly/validate/index.md new file mode 100644 index 0000000000..5f979a4411 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/webassembly/validate/index.md @@ -0,0 +1,66 @@ +--- +title: WebAssembly.validate() +slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/validate +tags: + - API + - JavaScript + - Method + - Object + - Reference + - WebAssembly + - validate +browser-compat: javascript.builtins.WebAssembly.validate +translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/validate +--- +{{JSRef}} + +**`WebAssembly.validate()`** 関数は WebAssembly バイナリーコードの[型付き配列](/ja/docs/Web/JavaScript/Typed_arrays)を検証し、そのバイト列が有効な wasm モジュールか (`true`)、そうでないか (`false`) を返します。 + +## 構文 + +```js +WebAssembly.validate(bufferSource) +``` + +### 引数 + +- `bufferSource` + - : 検証する WebAssembly バイナリーコードを含む[型付き配列](/ja/docs/Web/JavaScript/Typed_arrays)または [`ArrayBuffer`](/ja/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)。 + +### 返値 + +有効な wasm モジュールであるか (`true`)、そうでないか (`false`) を示す論理値です。 + +### 例外 + +`bufferSource` が[型付き配列](/ja/docs/Web/JavaScript/Typed_arrays)または [`ArrayBuffer`](/ja/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) でない場合、{{jsxref("TypeError")}} が発生します。 + +## 例 + +### validate の使用 + +以下の例 (`validate.html` の[ソースコード](https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/validate.html)と[動作例](https://mdn.github.io/webassembly-examples/js-api-examples/validate.html) をご確認ください) は .wasm モジュールを読み取って型付き配列に変換します。次に、 `validate()` メソッドを使用してモジュールが有効かどうかをチェックします。

+ +```js +fetch('simple.wasm').then(response => +  response.arrayBuffer() +).then(function(bytes) { +  var valid = WebAssembly.validate(bytes); +  console.log("The given bytes are " + + (valid ? "" : "not ") + "a valid wasm module"); +}); +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [WebAssembly](/ja/docs/WebAssembly) 概要ページ +- [WebAssembly の概念](/ja/docs/WebAssembly/Concepts) +- [WebAssembly JavaScript API の使用](/ja/docs/WebAssembly/Using_the_JavaScript_API) -- cgit v1.2.3-54-g00ecf From 7120a5bda383e235f7e4186fc3312ddb4c822db4 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Wed, 1 Sep 2021 23:56:41 +0900 Subject: Global_Objects/WebAssembly/instantiateStreaming を更新 (#2209) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Markdown化 - 2021/07/21 時点の英語版に同期 --- .../webassembly/instantiatestreaming/index.html | 83 ---------------------- .../webassembly/instantiatestreaming/index.md | 73 +++++++++++++++++++ 2 files changed, 73 insertions(+), 83 deletions(-) delete mode 100644 files/ja/web/javascript/reference/global_objects/webassembly/instantiatestreaming/index.html create mode 100644 files/ja/web/javascript/reference/global_objects/webassembly/instantiatestreaming/index.md (limited to 'files/ja/web/javascript/reference/global_objects/webassembly') diff --git a/files/ja/web/javascript/reference/global_objects/webassembly/instantiatestreaming/index.html b/files/ja/web/javascript/reference/global_objects/webassembly/instantiatestreaming/index.html deleted file mode 100644 index fb3ba701c1..0000000000 --- a/files/ja/web/javascript/reference/global_objects/webassembly/instantiatestreaming/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: WebAssembly.instantiateStreaming() -slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiateStreaming -translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiateStreaming ---- -
{{JSRef}} {{SeeCompatTable}}
- -

WebAssembly.instantiateStreaming() 関数はソースのストリームから直接 WebAssembly モジュールをコンパイルしてインスタンス化します。

- -

構文

- -
Promise<ResultObject> WebAssembly.instantiateStreaming(source, importObject);
- -

パラメータ

- -
-
source
-
コンパイルしてインスタンス化する .wasm モジュールのソースを表す {{domxref("Response")}} オブジェクトか、それをfulfillするプロミス。
-
importObject {{optional_inline}}
-
関数や {{jsxref("WebAssembly.Module")}} オブジェクトなどの新しく生成される Instance にインポートされる値を持つオブジェクト。モジュール内で宣言されたインポートそれぞれに対応するプロパティが存在する必要があります。そうでない場合、{{jsxref("WebAssembly.LinkError")}} がスローされます。
-
- -

戻り値

- -

解決時に次の2つのフィールドを持つ ResultObject を渡す Promise:

- - - -

例外

- - - -

- -

次の例 (Github上のデモ instantiate-streaming.html と、 動作例 を参照してください) では、ソースから .wasm モジュールを直接コンパイルしてインスタンス化しています。プロミスは ResultObject で fulfill されます。instantiateStreaming()  関数は {{domxref("Response")}} オブジェクトを渡すプロミスを受け取るので、直接 {{domxref("WindowOrWorkerGlobalScope.fetch()")}} 呼び出し結果を渡すことができます。

- -
var importObject = { imports: { imported_func: arg => console.log(arg) } };
-
-WebAssembly.instantiateStreaming(fetch('simple.wasm'), importObject)
-.then(obj => obj.instance.exports.exported_func());
- -

最後に ResultObject が持つ instance メンバーにアクセスして、エクスポートされた関数を実行しています。

- -

仕様

- - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('WebAssembly Embedding', '#webassemblyinstantiatestreaming', 'instantiateStreaming()')}}{{Spec2('WebAssembly Embedding')}}初回ドラフト定義
- -

ブラウザ実装状況

- -
- - -

{{Compat("javascript.builtins.WebAssembly.instantiateStreaming")}}

-
- -

関連情報

- - diff --git a/files/ja/web/javascript/reference/global_objects/webassembly/instantiatestreaming/index.md b/files/ja/web/javascript/reference/global_objects/webassembly/instantiatestreaming/index.md new file mode 100644 index 0000000000..d157a5c651 --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/webassembly/instantiatestreaming/index.md @@ -0,0 +1,73 @@ +--- +title: WebAssembly.instantiateStreaming() +slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiateStreaming +tags: + - API + - JavaScript + - Method + - Object + - Reference + - WebAssembly + - instantiate + - instantiateStreaming + - streaming +browser-compat: javascript.builtins.WebAssembly.instantiateStreaming +translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiateStreaming +--- +{{JSRef}} + +**`WebAssembly.instantiateStreaming()`** 関数は、ソースのストリームから直接 WebAssembly モジュールをコンパイルしてインスタンス化します。これは、 wasm コードをロードするための最も効率的で最適な方法です。 + +```js +WebAssembly.instantiateStreaming(source, importObject) +``` + +### 引数 + +- _source_ + - : [`Response`](/ja/docs/Web/API/Response "Response は Fetch API のインターフェースで、リクエストに対するレスポンスを表します。") オブジェクト、またはそれで解決するプロミスで、コンパイルしてインスタンス化する .wasm モジュールのソースを表します。 +- _importObject_ {{optional_inline}} + - : 関数や {{jsxref("WebAssembly.Memory")}} オブジェクトなど、新しく生成される `Instance` にインポートされる値を持つオブジェクト。コンパイルされたモジュールの宣言されたインポートそれぞれに対応するプロパティが存在する必要があります。そうでない場合、[`WebAssembly.LinkError`](/ja/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/LinkError) が発生します。 + +### 返値 + +`Promise` で、次の 2 つのフィールドを持つ `ResultObject` で解決します。 + +- `module`: コンパイルされた {{jsxref("WebAssembly.Module")}} オブジェクト。この `Module` は再度インスタンス化することや、[postMessage()](/ja/docs/Web/API/Worker/postMessage) 経由で共有することができます。 +- `instance`: {{jsxref("WebAssembly.Instance")}} オブジェクトで、すべての[エクスポートされた WebAssembly 関数](/ja/docs/WebAssembly/Exported_functions)を含みます。 + +### 例外 + +- いずれかの引数が正しい型または構造でない場合、{{jsxref("TypeError")}} が発生します。 +- 失敗した場合、プロミスは失敗の原因に応じて {{jsxref("WebAssembly.CompileError")}}、{{jsxref("WebAssembly.LinkError")}}、{{jsxref("WebAssembly.RuntimeError")}} をもって拒否されます。 + +## 例 + +### ストリーミングのインスタンス化 + +次の例 (Github上のデモ [instantiate-streaming.html](https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/instantiate-streaming.html) と、[動作例](https://mdn.github.io/webassembly-examples/js-api-examples/instantiate-streaming.html)を参照してください) では、ソースから .wasm モジュールを直接コンパイルしてインスタンス化しています。プロミスは `ResultObject` で充足されます。`instantiateStreaming()` 関数は [`Response`](/ja/docs/Web/API/Response "Response は Fetch API のインターフェースで、リクエストに対するレスポンスを表します。") オブジェクトを渡すプロミスを受け取るので、直接 [`WindowOrWorkerGlobalScope.fetch()`](/ja/docs/Web/API/WindowOrWorkerGlobalScope/fetch "WindowOrWorkerGlobalScope ミックスインの fetch() メソッドは、ネットワークからリソースをフェッチするプロセスを開始し、レスポンスが利用可能になると履行される約束を返します。") 呼び出し結果を渡すことができます。 + +```js +var importObject = { imports: { imported_func: arg => console.log(arg) } }; + +WebAssembly.instantiateStreaming(fetch('simple.wasm'), importObject) +.then(obj => obj.instance.exports.exported_func()); +``` + +最後に `ResultObject` が持つ instance メンバーにアクセスして、エクスポートされた関数を実行しています。 + +> **Note:** これを動作するようにするには、サーバが `.wasm` ファイルを `application/wasm` の MIME タイプで返す必要があります。 + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [WebAssembly](/ja/docs/WebAssembly) 概要ページ +- [WebAssembly の概念](/ja/docs/WebAssembly/Concepts) +- [WebAssembly JavaScript API の使用](/ja/docs/WebAssembly/Using_the_JavaScript_API) -- cgit v1.2.3-54-g00ecf