Webassembly Posts

6 posts in this category

Working with wasm-bindgen
[wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) is an awesome tool made by **rustwasm** team, make it very easy to expose Rust's data/functions to JavaScript and vice versa. To use, you can a...
WebAssembly
Stack Machine Execution
WebAssembly is executed using a stack-based virtual machine. There are two types of execution of a WASM module: - **Instance Execution:** If the module contains a **start** section, the referenced fun...
WebAssembly
Tables and Dynamic Linking
**Table** is another shared instance in WebAssembly just like Linear Memory, but it can only store **function references**. It can be shared between modules, and all you can do with tables is to make ...
WebAssembly
Working with Linear Memory
Linear Memory in WebAssembly is a contiguous and mutable array of **uninterpreted bytes**. It is shared between the WASM module and the host runtime. It can be expanded by calling `WebAssembly.Memory....
WebAssembly
How to read WASM code
Just like a good-old-Assembly program, a WebAssembly module is made up of different sections: ![](_meta/wasm-anatomy.png) _(Source: [rsms/Introduction to WebAssembly](https://rsms.me/wasm-intro))_...
WebAssembly
A quick guide
WebAssembly is a new type of code that **can be loaded and run by the JavaScript VM** on web browsers. It can also be run natively on the computer by other WASM runtimes like [Wasmer](https://wasmer.i...
WebAssembly