ื-W3C ืคืจืกื ืืืืื ืฉื โโืืคืจื ืืืฉ ืืืชืงื ืืช ืชืืื ืช ืืืืฆืข ืฉื WebAssembly 2.0 ืืืช ื-API ืืืฉืืื ืื, ืืืืคืฉืจ ืืฆืืจืช ืืืฉืืืื ืืขืื ืืืฆืืขืื ืืืืืื ืฉื ืืืืื ืืื ืืคืืคื ืื ืืคืืืคืืจืืืช ืืืืจื. WebAssembly ืืกืคืงืช ืงืื ืืื ืืื ืืื ืืืจืกืื, ืืืชื ืชืืื ืืืคืืคื, ืืจืื ื ืืืื ืืืคืขืืช ืืืฉืืืื ืืืืจืืืื ืืฉืคืืช ืชืื ืืช ืฉืื ืืช. ืืืืฆืขืืช JIT ืขืืืจ WebAssembly, ืืชื ืืืื ืืืฉืื ืจืืืช ืืืฆืืขืื ืงืจืืืืช ืืงืื ืืงืืจื.
ื ืืชื ืืืฉืชืืฉ ืืืื ืืืืืืืช WebAssembly ืืืืฆืืข ืืฉืืืืช ืืขืืืช ืืืฆืืขืื ืืืืืื ืืืคืืคื, ืืืื ืงืืืื ืืืืื, ืขืืืื ืืืืื, ืืจืคืืงื ืืชืืช ืืืื, ืคืืชืื ืืฉืืงืื, ืคืขืืืืช ืงืจืืคืืืืจืคืืืช ืืืืฉืืืื ืืชืืืืื ืขื ืืื ืืชื ืืคืฉืจืืช ืืงืื ืฉื ืืชื ืืฉืคืืช ืงืืืคืืืฆืื ืืื C/C++ .
ืืื ืืืืจืืช ืืขืืงืจืืืช ืฉื WebAssembly ืืื ืืืืืช ื ืืืืืช, ืืชื ืืืืช ืฆืคืืื ืืืืฆืืข ืงืื ืืื ืืคืืืคืืจืืืช ืฉืื ืืช. ืืืืจืื ื, WebAssembly ืงืืืื ืื ืืคืืืคืืจืื ืืื ืืืจืกืืืช ืืืืฆืืข ืืืืืื ืฉื ืงืื ืืื ืชืฉืชืืช, ืืขืจืืช ืืคืขืื ืืืืฉืืจ, ืื ืืืืื ืืืคืืคื ืื.
ื-W3C ืคืจืกื ืฉืืืฉ ืืืืืืช ืืคืจืืื ืขืืืจ WebAssembly 2.0:
- WebAssembly Core - ืืชืืจ ืืืื ื ืืืจืืืืืืช ืืจืื ื ืืืื ืืืคืขืืช ืงืื ืืื ืืื WebAssembly. ืืฉืืืื ืืืฉืืืืื ื-WebAssembly ืืกืืคืงืื ืืคืืจืื ".wasm", ืืืืื ืืงืืฆื ".class" ื-Java, ืืืืืืื ื ืชืื ืื ืกืืืืื ืืคืืื ืงืื ืืขืืืื ืขื ื ืชืื ืื ืืื.
- WebAssembly JavaScript Interface - ืืกืคืง API ืืืื ืืืจืฆืื ืขื JavaScript. ืืืคืฉืจ ืื ืืงืื ืขืจืืื ืืืืขืืืจ ืคืจืืืจืื ืืคืื ืงืฆืืืช WebAssembly. ืืืฆืืข WebAssembly ืขืงืื ืืืจ ืืืื ืืืืืื ืฉื JavaScript ืืื ืืืื ืืจืืงืฆืื ืขื ืืืขืจืืช ืืจืืฉืืช ืืชืืฆืขืช ืืืืชื ืืืคื ืืื ืืืฆืืข ืงืื JavaScript.
- WebAssembly Web API - ืืืืืจ ืืืฉืง ืชืื ืืช ืืืืืกืก ืขื ืื ืื ืื ื-Promise ืืืงืฉืช ืืืืฆืืข ืืฉืืื ".wasm". ืคืืจืื ืืืฉืื ืฉื WebAssembly ืืืชืื ืืื ืืืชืืื ืืืืฆืืข ืืืื ืืืืชืื ืืืขืื ื ืืืื ืฉื ืืงืืืฅ, ืื ืฉืืฉืคืจ ืืช ืืืืขื ืืช ืฉื ืืืฉืืื ืืื ืืจื ื.
ืืฉืื ืืืื ืืขืืงืจืืื ื-WebAssembly 2.0 ืืืฉืืืื ืืืจืกื ืืจืืฉืื ื ืฉื ืืชืงื:
- ืชืืืื ืืกืื ืืืืงืืืจ v128 ืืืืจืืืช ืืงืืืจ ืงืฉืืจืืช ืืืืคืฉืจืืช ืื ืืืฆืข ืคืขืืืืช ืขื ืืกืคืจ ืขืจืืื ืืกืคืจืืื ืืืงืืื (SIMD, ืืืจืืืช ืืจืืืืช ื ืชืื ืื ืืืืืื).
- ืืืืืช ืืืืื ืืืืืฆื ืืฉืชื ืื ืืืืืืืื ืื ืืชื ืื ืืฉืื ืื, ืืืืคืฉืจืช ืืืืื ืืจืืื ืืืืืืืช ืขื ืขืจืืื ืืืื ืืฆืืืขื ืืืกื ืืช ื-C++.
- ืืืจืืืช ืืืจื ืืืฉืืช ืฉื float to int ืฉืืืงืื ืืืจืืง ืืจืื ืืืฉืจ ืืชืืฆืื ืขืืื ืขื ืืืืชืื, ืืืืืจืืช ืืช ืืขืจื ืืืื ืืืื ืื ืืืงืกืืืื ืืืคืฉืจื (ืืืจืื ืขืืืจ SIMD).
- ืืืจืืืช ืืืจืืืช ืกืืื ืฉื ืืกืคืจืื ืฉืืืื (ืืืืืช ืขืืืง ืืกืืืืืช ืฉื ืืกืคืจ ืชืื ืฉืืืจื ืขื ืกืืื ืืขืจื).
- ืชืืืื ืืืืงืื ืืคืื ืงืฆืืืช ืืืืืืจืืช ืขืจืืื ืืจืืืื (ืื ืืกืฃ ืืืขืืจืช ืคืจืืืจืื ืืจืืืื ืืคืื ืงืฆืืืช).
- ืืืฉืื ืฉื ืคืื ืงืฆืืืช ื-BigInt64Array ื-BigUint64Array JavaScript ืืืืจื ืืื ืกืื ื-BigInt JavaScript ืืืื ืืืฆืื WebAssembly ืฉื ืืกืคืจืื ืฉืืืื ืฉื 64 ืกืืืืืช.
- ืชืืืื ืืกืืื ืืคื ืืืช (funcref ื-externref) ืืืืืจืืืช ืื ืืืืช ืืืืื (ืืืจ, ref.null, ref.func ื-ref.is_null).
- Memory.copy, memory.fill, memory.init ื-data.drop ืืืจืืืช ืืืขืชืงืช ื ืชืื ืื ืืื ืืืืจื ืืืืจืื ืื ืืงืื ืืืืจื ืืืืจืื.
- ืืืจืืืช ืืืืฉื ืืฉืืจื ืืืืืืืช ืืืฉืื ืื ืืืืืืืช (table.set, table.get, table.size, table.grow). ืืืืืช ืืืฆืืจ, ืืืืื ืืืืืฆื ืืืืืืช ืืจืืืืช ืืืืืื ืืื. ืคืื ืงืฆืืืช ืืืขืชืงื/ืืืืื ืืืืืืช ืืืฆื ืืฆืืื (table.copy, table.init ื-elem.drop).
ืืงืืจ: OpenNet.ru