Skip to content

Latest commit

 

History

History
43 lines (39 loc) · 1.73 KB

todo.md

File metadata and controls

43 lines (39 loc) · 1.73 KB

plan

  • Basic compilation examples from wasm book
    • Make sure they're compilable
  • Parsing samples from wat-compiler
  • Remove subscript, use own parsing loop
  • Avoid duplicating function signatures
  • Compilation samples from wat-compiler
  • Examples tests - existing & wat-compiler ones (ideally find failing table)
  • Normalize tree in parser, not in compiler - keep compiler small & fast
  • Basic parsing instructions from mdn & examples
  • Benchmark against wabt, wat-compiler
  • Build script
  • Test: assert function;
  • make sure compiler doesn't modify tree
  • Recognize all number formats
  • Format function
  • Refactor for flat instructions: consume into stack, rather than fixed signatures
  • Multiple results: block, if, loop, func
  • Multiple params
  • SIMD
  • nan:value
  • constant expressions
  • bench wassemble - broken
  • Tests: https://github.com/EmNudge/watlings
  • Floating hex
  • Official test suite https://github.com/WebAssembly/testsuite
  • Compiler: Externref types;
  • Compiler: Named/multiple memory;
  • Compiler: Named/multiple tables;
  • Relax no-inline limitation? ~ many examples use loop ... end, br 0 and other simple inliners ~ from code point things coming in loop/block node are not arguments, they're immediates-ish, or "body"
  • make repl support switch of compiler
  • better errors: should be safe to type in anything
  • numeric values in data https://github.com/WebAssembly/wat-numeric-values/blob/main/proposals/wat-numeric-values/Overview.md
  • extended-const (polyfill?) https://github.com/WebAssembly/extended-const

Backlog

  • reorganize OP so to store number of immediates
  • wat-based wat-compiler