- La especificación de Wasm 2.0 fue anunciada oficialmente
- La comunidad de Wasm y los Working Groups completaron la especificación desde 2022, y las implementaciones principales ya eran compatibles con 2.0
- A partir de 2.0 se introduce un modelo evergreen, por lo que el documento Candidate Recommendation se actualiza continuamente para mantenerse al día
- En lugar de moverlo a una recomendación final cada vez que se anuncia una nueva versión, el borrador actual de recomendación se considera el estándar
Principales funciones y añadidos de Wasm 2.0
- Instrucciones vectoriales (SIMD): se agregan 236 instrucciones nuevas para aprovechar las capacidades SIMD de 128 bits de las CPU modernas; son eficientes para códecs de audio/video de alto rendimiento, machine learning, criptografía y más
- Instrucciones de memoria masiva: se añade un conjunto de instrucciones que permite copiar e inicializar memoria y tablas rápidamente
- Retorno multivalor: las funciones y bloques pueden devolver varios valores, lo que mejora la convención de llamada y habilita transformaciones adicionales del programa
- Tipos de referencia: se admiten referencias a funciones o punteros a objetos externos (por ejemplo, valores de JavaScript) como valores opacos de primera clase; las tablas pueden usarse como almacenamiento de estos valores de referencia, y se habilitan instrucciones para manejar tablas y la definición de múltiples tablas
- Conversiones sin trap: se introducen instrucciones de conversión que evitan traps inesperados al convertir de punto flotante a entero
- Instrucciones de extensión de signo: se añaden instrucciones para extender directamente el ancho de enteros con signo, lo que permite hacerlo sin acceso a memoria como antes
Compatibilidad hacia atrás y perspectivas futuras
- Wasm 2.0 es totalmente compatible con 1.0, por lo que los programas existentes funcionan sin cambios
- El lanzamiento de Wasm 3.0 también está previsto próximamente
2 comentarios
WA!(SM)
Opiniones en Hacker News
subtype) o módulos