Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

tl;dr SIMD

- new: vector types - 128-bit width FP and integer types and values for SIMD, with related instructions (and validation thereof) plus memory instructions for wide loads, and support in the runtime for wide values (consts, etc.), and in the text and binary formats

- value types (i32, i64, f32, f64) are now called number types

- new: reference types - basically function pointers and pointers to objects in the host, values of which can be stored in tables, with related instructions for accessing them and checking for null

- new: table instructions - get, set, size, grow, fill, copy, etc.

- element and data segments - not new but expanded definition and given more runtime support (added to the store, can be referenced by address like other runtime objects), plus new indices for referencing segments and their modes (basically, how they are initialized during instantiation)

- limited form of subtyping allowed when importing external values

- result types can be a sequence of values (i.e., multiple return values from functions)

- new instructions to avoid trapping on floating-point to integer conversions ("saturation")



There's also: Multiple values[1]

"Generalized the result type of blocks and functions to allow for multiple values; in addition, introduced the ability to have block parameters:

- Function types allow more than one result

- Block types can be arbitrary function types"

[1] https://www.w3.org/TR/wasm-core-2/appendix/changes.html#mult...


This is exactly what I was looking for, thanks very much!




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: