Movatterモバイル変換


[0]ホーム

URL:


  1. WebAssembly
  2. Références
  3. WebAssembly
  4. WebAssembly.Memory()

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

WebAssembly.Memory()

Le constructeurWebAssembly.Memory() crée un nouvel objetMemory dont la propriétébuffer est unArrayBuffer redimensionnable qui contient les octets de mémoire bruts accessibles par une instance WebAssembly.

Un espace mémoire créé depuis du code JavaScript ou depuis du code WebAssembly sera accessible et modifiable (mutable) depuis JavaScriptet depuis WebAssembly.

Syntaxe

js
var maMemoire = new WebAssembly.Memory(descripteurMemoire);

Paramètres

descripteurMemoire

Un objet qui contient les propriétés suivantes :

initial

La taille initiale de cet espace mémoire WebAssembly, exprimée en nombre de pages WebAssembly.

maximumFacultatif

La taille maximale autorisée pour cet espace mémoire WebAssembly, exprimée en nombre de pages WebAssembly. Lorsque ce paramètre est utilisé, il est fournit comme indication au moteur pour que celui-ci réserve l'espace mémoire correspondant. Toutefois, le moteur peut choisir d'ignorer cette indication. Dans la plupart des cas, il n'est pas nécessaire d'indiquer un maximum pour les modules WebAssembly.

Note :Une page mémoire WebAssembly correspond à une taille fixe de 65 536 octets, soit environ 64 Ko.

Exceptions

  • SidescripteurMemoire n'est pas un objet, une exceptionTypeError sera levée.
  • Simaximum est indiqué et qu'il est inférieur àinitial, une exceptionRangeError sera levée.

Méthodes du constructeurMemory

Aucune.

Instances deMemory

Toutes les instances deMemory héritent des propriétés duprototype du constructeurMemory() qui peut être utilisé afin de modifier le comportement de l'ensemble des instances deMemory.

Propriétés

Memory.prototype.constructor

Renvoie la fonction qui a créé l'instance de l'objet. Par défaut, c'est le constructeurWebAssembly.Memory().

Memory.prototype.buffer

Une propriété d'accesseur qui renvoie le tampon contenu dans l'espace mémoire.

Méthodes

Memory.prototype.grow()

Cette méthode permet d'augmenter la taille de l'espace mémoire d'un nombre de pages donné (dont chacune mesure 64 Ko).

Exemples

Il existe deux façons de créer un objetWebAssembly.Memory. La première consiste à le créer explicitement en JavaScript. Avec l'instruction qui suit, on crée un espace mémoire avec une taille initiale de 10 pages (soit 640 Ko) et une taille maximale de 100 pages (soit 6,4 Mo).

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

La seconde méthode permettant d'obtenir un objetWebAssembly.Memory est de l'exporter depuis un module WebAssembly. Dans l'exemple suivant (cf. le fichiermemory.html sur GitHub ainsi quele résultat obtenu) on récupère et on instancie lebytecodememory.wasm grâce à la méthodeWebAssembly.instantiateStreaming() tout en important la mémoire créée à la ligne précédente. Ensuite, on enregistre des valeurs au sein de cette mémoire puis on exporte une fonction qu'on utilise pour additionner certaines valeurs.

js
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);});

Spécifications

Specification
WebAssembly JavaScript Interface
# memories
Unknown specification

Compatibilité des navigateurs

webassembly.api.Memory

webassembly.multiMemory

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp