wasmx / wasm-chisel

Some useful utilities to transform WebAssembly binaries.
Apache License 2.0
55 stars 11 forks source link

Translator for wasm-bulk-memory #113

Open axic opened 5 years ago

axic commented 5 years ago

Introduce two modules which translate: 1) from regular wasm to bulk-memory 2) from bulk-memory to regular wasm

Overview: https://github.com/WebAssembly/bulk-memory-operations/blob/master/proposals/bulk-memory-operations/Overview.md

As an example, replace all memcpy's with the following function:

(func (param $dst i32) (param $src i32) (param $size i32) (result i32)
  get_local $dst
  get_local $src
  get_local $size
  memory.copy
  get_local $dst)

Or for the reverse direction: replace the use of memory.copy with memcpy.