See https://github.com/xtuc/js-webassembly-interpreter/tree/master/packages/dce.
Eliminate unused functions in your WASM binary.
- Removes the export instruction
- Replaces the func with an empty one (to preserve the index)
(module
- (func $func_1 (param i32) (param i32) (result i32)
- (get_local 0)
- (get_local 1)
- (i32.add)
- )
- (export "add" (func $func_1))
+ (func)
)
First you can see the JavaScript API is specified here https://github.com/WebAssembly/binaryen/wiki/binaryen.js-API.
I encounter some issues (like removing the func
wasn't working) and added an additional parse of the WASM file.
- js-webassembly-interpreter - GNU General Public License v2.0 see LICENCE
- Support DCE for exported
global
,memory
,table
. - Remove elements only used by this function (other imports, data, etc).
- Add CLI for node projects or libs