From ad9ea64ce997fb0bf4e8bef04605ec4b1cff1147 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Tue, 7 Sep 2021 00:43:38 +0900 Subject: Global_Objects/WebAssembly/Module 以下を更新 (#2275) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Markdown化 - 2021/08/28 時点の英語版に同期 - コンストラクターの文書を新規翻訳 --- .../global_objects/webassembly/module/index.html | 95 ---------------------- 1 file changed, 95 deletions(-) delete mode 100644 files/ja/web/javascript/reference/global_objects/webassembly/module/index.html (limited to 'files/ja/web/javascript/reference/global_objects/webassembly/module/index.html') diff --git a/files/ja/web/javascript/reference/global_objects/webassembly/module/index.html b/files/ja/web/javascript/reference/global_objects/webassembly/module/index.html deleted file mode 100644 index 36fabff4a2..0000000000 --- a/files/ja/web/javascript/reference/global_objects/webassembly/module/index.html +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: WebAssembly.Module -slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module -tags: - - API - - Constructor - - Experimental - - JavaScript - - Module - - Reference - - WebAssembly -translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module ---- -
{{JSRef}}
- -

WebAssembly.Module オブジェクトには、ブラウザーでコンパイルされたステートレスな WebAssembly コードが含まれています。これを効率的にワーカー間で共有したり、複数回インスタンス化したりすることができます。

- -

コンストラクター

- -
-
{{jsxref("Global_Objects/WebAssembly/Module/Module", "WebAssembly.Module()")}}
-
新しい Module オブジェクトを生成します。
-
- -

静的プロパティ

- -
-
{{jsxref("Global_Objects/WebAssembly/Module/customSections", "WebAssembly.Module.customSections()")}}
-
Module と文字列を指定すると、モジュール内の与えられた文字列を名前に持つ全てのカスタムセクションの内容を返します。
-
{{jsxref("Global_Objects/WebAssembly/Module/exports", "WebAssembly.Module.exports()")}}
-
Module を指定すると、エクスポート宣言の情報を配列として返します。
-
{{jsxref("Global_Objects/WebAssembly/Module/imports", "WebAssembly.Module.imports()")}}
-
Module を指定すると、インポート宣言の情報を配列として返します。
-
- -

- -

コンパイル済みのモジュールをワーカーに送信

- -

以下の例では (GitHub 上の index-compile.html およびライブ表示も参照してください)、読み込まれた simple.wasm のバイトコードを {{jsxref("WebAssembly.compileStreaming()")}} メソッドでコンパイルし、結果の Module インスタンスをワーカーへ、 {{domxref("Worker/postMessage", "postMessage()")}} を使用して送信します。

- -
var worker = new Worker("wasm_worker.js");
-
-WebAssembly.compileStreaming(fetch('simple.wasm'))
-.then(mod =>
-  worker.postMessage(mod)
-);
- -

ワーカー内では (wasm_worker.js を参照)、モジュールを使用するための import オブジェクトを定義し、メインスレッドからモジュールを受け取るためのイベントハンドラーをセットアップします。モジュールを受け取ったら、 {{jsxref("WebAssembly.instantiate()")}} メソッドを使ってインスタンスを作成し、その中からエクスポートされた関数を呼び出します。

- -
var importObject = {
-  imports: {
-    imported_func: function(arg) {
-      console.log(arg);
-    }
-  }
-};
-
-onmessage = function(e) {
-  console.log('module received from main thread');
-  var mod = e.data;
-
-  WebAssembly.instantiate(mod, importObject).then(function(instance) {
-    instance.exports.exported_func();
-  });
-};
- -

仕様書

- - - - - - - - - - - - -
仕様書
{{SpecName('WebAssembly JS', '#modules', 'WebAssembly.Module()')}}
- -

ブラウザーの互換性

- -
-

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

-
- -

関連情報

- - -- cgit v1.2.3-54-g00ecf