webassemblyjs
webassemblyjs copied to clipboard
Toolchain for WebAssembly
There are some restrictions on these arguments for the memory instructions to be well typed. * https://github.com/xtuc/webassemblyjs/blob/master/packages/validation/src/type-checker/get-type.js#L355 * https://github.com/xtuc/webassemblyjs/blob/master/packages/validation/src/type-checker/get-type.js#L373
The instructions related to tables are still missing from the type checker.
Here's the test: https://github.com/xtuc/webassemblyjs/blob/fed152017fd5d19c09c8c53e3369d849e7c538f2/packages/wasm-parser/test/fixtures/block/with-label/actual.wat-failure#L3 It has been disabled in #276
the code uses a mix of commonjs and es6 module syntax. It should be migrated to es6 throughout.
Our AST representation has different ways of representing nested instruction * `node.args`: https://github.com/xtuc/webassemblyjs/blob/master/packages/wast-parser/test/fixtures/return/expected.json#L18 * `node.instr`: https://github.com/xtuc/webassemblyjs/blob/master/packages/wast-parser/test/fixtures/instruction/nested-block/expected.json#L20 * `node.instrArgs`: https://github.com/xtuc/webassemblyjs/blob/d73d782786a02d97b21dd9285e20ada9911c219c/packages/wast-parser/test/fixtures/wast-call-instruction/expected.json#L11 This makes code working with them (in my case the type...
I noticed that the block node has `result: null` instead of `result: []` when its result type is omitted: https://github.com/xtuc/webassemblyjs/blob/master/packages/wast-parser/test/fixtures/block/empty/expected.json#L12 This should be `[]` for consistency, maybe there are other...
Another AST format change proposal. Conversion and memory instructions carry a type in their name (`store8`, `reinterpret/i32`, etc). We currently just store the instruction name and whatever package that requires...
The current AST is de-normalized, in that the signature information is included in the function and call_indirect nodes. With WASM the signatures / types are stored in a section and...
Following on from our conversations on slack ... - it would be ideal to re-use some of the existing tests for the wasm decoder / gen - binary wasm files...
Was left todo here https://github.com/xtuc/js-webassembly-interpreter/pull/173#discussion_r170420418 since not a priority. https://github.com/xtuc/js-webassembly-interpreter/blob/00281dfd739b8f971a31f26e893b17855fcc26e7/src/interpreter/runtime/values/module.js#L217-L219