- A especificação do Wasm 2.0 foi anunciada oficialmente
- A Wasm Community e os Working Groups concluíram a especificação desde 2022, e as principais implementações já davam suporte ao 2.0
- A partir do 2.0, foi adotado o modelo evergreen, no qual o documento Candidate Recommendation é continuamente atualizado para se manter no estado mais recente
- Em vez de mover para uma recomendação final a cada anúncio de nova versão, o rascunho atual da recomendação passa a ser considerado o padrão
Principais recursos e adições do Wasm 2.0
- Instruções vetoriais (SIMD): adição de 236 novas instruções para aproveitar os recursos SIMD de 128 bits das CPUs modernas, sendo eficiente para codecs de áudio/vídeo de alto desempenho, aprendizado de máquina, criptografia e mais
- Instruções de memória em bloco: foi adicionado um conjunto de instruções que permite cópia e inicialização rápidas de memória e tabelas
- Retorno multivalor: funções e blocos podem retornar vários valores, melhorando a convenção de chamada e permitindo transformações adicionais no programa
- Tipos de referência: suporte a referências para funções ou ponteiros para objetos externos (ex.: valores JavaScript) como valores opacos de primeira classe; tabelas podem ser usadas como armazenamento desses valores de referência, e passam a ser possíveis instruções para manipular tabelas e definições de múltiplas tabelas
- Conversões sem trap: foram introduzidas instruções de conversão que evitam traps inesperados ao converter ponto flutuante para inteiro
- Instruções de extensão de sinal: foram adicionadas instruções que expandem diretamente a largura de inteiros com sinal, tornando essa expansão possível sem acesso à memória como antes
Compatibilidade retroativa e perspectivas futuras
- O Wasm 2.0 é totalmente compatível com o 1.0, então os programas existentes continuam funcionando como estão
- O lançamento do Wasm 3.0 também está previsto para breve
2 comentários
WA!(SM)
Comentários do Hacker News