A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ja/docs/WebAssembly/Reference/JavaScript_interface/Memory/Memory below:

WebAssembly.Memory() コンストラクター - WebAssembly | MDN

WebAssembly.Memory() コンストラクター

Baseline Widely available

WebAssembly.Memory() コンストラクターは新しい Memory オブジェクトを生成します。これは buffer プロパティがサイズ変更可能な ArrayBuffer または SharedArrayBuffer であり、 WebAssembly の Instance からアクセスする生のバイト列のメモリーであるものです。

JavaScript または WebAssembly コードから生成されたメモリーは JavaScript と WebAssembly のどちらからもアクセス、変更が可能になります。

構文
new WebAssembly.Memory(memoryDescriptor);
引数
memoryDescriptor

以下のメンバーを含むことができるオブジェクトです。

initial

WebAssembly メモリーの初期サイズで、単位は WebAssembly ページ数です。

maximum 省略可

WebAssembly メモリーを拡張できる最大サイズで、単位は WebAssembly ページ数です。存在する場合、 maximum 引数はエンジンがメモリーを予約するヒントとして使用されます。ただし、エンジンはこの予約リクエストを無視したり固定したりすることがあります。一般的に、ほとんどの WebAssembly モジュールでは maximum を設定する必要はありません。

論理値で、このメモリーを共有メモリーにするかどうかを定義します。 true に設定すると、共有メモリーになります。既定値は false です。

メモ: WebAssembly ページは 65,536 バイト、すなわち 64KiB の固定長です。

例外 例 新しい Memory インスタンスの作成

WebAssembly.Memory オブジェクトを取得する方法は 2 つあります。 1 つ目は JavaScript から構築する方法です。次の例では、新しい WebAssembly Memory インスタンスを初期サイズが 10 ページ (640KiB) 、最大サイズが 100 ページ (6.4MiB) で生成しています。この buffer プロパティは ArrayBuffer を返します。

var memory = new WebAssembly.Memory({ initial: 10, maximum: 100 });

2 つ目は WebAssembly モジュールからエクスポートされた WebAssembly.Memory オブジェクトを使用する方法です。次の例では (GitHub 上の memory.html および動作例も参照)、 memory.wasm バイトコードを WebAssembly.instantiateStreaming() メソッドで読み込みんでインスタンス化し、その上の行で生成されたメモリーにインポートします。それから、メモリーにいくつかの値を格納し、関数をエクスポートして使用し、いくつかの値を合計します。

WebAssembly.instantiateStreaming(fetch("memory.wasm"), {
  js: { mem: memory },
}).then((obj) => {
  var i32 = new Uint32Array(memory.buffer);
  for (var i = 0; i < 10; i++) {
    i32[i] = i;
  }
  var sum = obj.instance.exports.accumulate(0, 10);
  console.log(sum);
});
共有メモリーの作成

既定では、 WebAssembly のメモリーは共有されていません。共有メモリーを作成するには、コンストラクター の初期化オブジェクトに shared: true を渡してください。

let memory = new WebAssembly.Memory({
  initial: 10,
  maximum: 100,
  shared: true,
});

このメモリーの buffer プロパティは SharedArrayBuffer を返します。

仕様書 ブラウザーの互換性 関連情報

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4