Aller au contenu
uencoder

WASM Table

Une WASM Table est la table de références de fonctions de WebAssembly, stockant des références pour les appels indirects (call_indirect), implémentant pointeurs de fonctions et vtables.

Objectif

Donner à WASM un mécanisme sûr de pointeurs de fonctions prenant en charge appels indirects et distribution dynamique (pointeurs de fonctions C, vtables C++).

Mécanisme

new WebAssembly.Table({element:funcanyref, initial, maximum}) crée la table de références ; get/set les lisent et écrivent. call_indirect appelle une fonction de la table par index. Les vérifications de type empêchent d'appeler des fonctions aux signatures incorrectes.

Cas d’usage

  • Pointeurs de fonctions WASM
  • Portage des vtables C++
  • Appels indirects

Outils associés

References