Zum Inhalt springen
uencoder

WASM Table

Eine WASM Table ist die Funktionsreferenztabelle von WebAssembly, die Referenzen für indirekte Aufrufe (call_indirect) speichert und Funktionszeiger und vtables umsetzt.

Zweck

WASM einen sicheren Funktionszeigermechanismus geben, der indirekte Aufrufe und dynamischen Dispatch unterstützt (C-Funktionszeiger, C++-vtables).

Mechanismus

new WebAssembly.Table({element:funcanyref, initial, maximum}) erzeugt die Referenztabelle; get/set lesen und schreiben Referenzen. call_indirect ruft eine Tabellenfunktion per Index auf. Typprüfungen verhindern Aufrufe mit falscher Signatur.

Anwendungsfälle

  • WASM-Funktionszeiger
  • Portierung von C++-vtables
  • Indirekte Aufrufe

Verwandte Tools

References