Saltar al contenido
uencoder

WASM Table

Una WASM Table es la tabla de referencias a funciones de WebAssembly, que almacena referencias para llamadas indirectas (call_indirect), implementando punteros a funciones y vtables.

Propósito

Dar a WASM un mecanismo seguro de punteros a funciones que admita llamadas indirectas y despacho dinámico (punteros a funciones de C, vtables de C++).

Mecanismo

new WebAssembly.Table({element:funcanyref, initial, maximum}) crea la tabla de referencias; get/set las leen y escriben. call_indirect invoca una función de la tabla por índice. Las comprobaciones de tipo evitan llamar funciones con firmas incorrectas.

Casos de uso

  • Punteros a funciones en WASM
  • Portar vtables de C++
  • Llamadas indirectas

Herramientas relacionadas

References