タグ

WASMとプログラミングに関するmohnoのブックマーク (1)

  • C言語でWasmインタプリタを実装した話

    概要 公式のcore testが全て(UTF8, WAT, SIMD関連のものは除く)通るWasmインタプリタをC言語でフルスクラッチで実装した。自作Wasmランタイムで省略されがちなValidation Stageも実装した。この記事はWebAssembly Advent Calendar 2023の三日目の記事である。 目的 このWasmランタイムを実装するにあたり、「できるだけ仕様に従って実装する」ことを心掛けた。Wasmの仕様書は以下のissueが立つほど読みにくいものとなっているが、ランタイムをどのように実装すべきかが詳しく書いてあり、一応仕様書を頑張って読めばランタイムが作れるようになっている。 この自作Wasmランタイムの目的は、できるだけ仕様に従った実装を与えることで、仕様の理解を助けることである。早さや効率性よりも分かりやすさを優先しているため、実用には向かない。仕様書を

    C言語でWasmインタプリタを実装した話
    mohno
    mohno 2023/12/03
    WASMのバイトコードを実行するんじゃなくて文法を解釈するのか。なんかスゲェ。「WASMランタイムを実装する中で、仕様書にバグや不明瞭な点を見つけて報告した」「WASMの命令は抽象度がかなり高い」←そりゃ理解も進む。
  • 1