Slide 14
Slide 14 text
Wasmの基礎言語仕様:
3. Safe
• ホストランタイムから隔離された単一メモリ空間を持つ
• そしてハーバードアーキテクチャである
• デフォルトでは外界に副作用を行えない
• Structuredな言語構造しかない (block, loop…
• ジャンプや条件付ジャンプ、CallなどはBasic Blockにしか飛べない
• ローカル変数の存在
• CallスタックはVMが管理するのでVM上はControl Flow Integrityがある
• VMの上の言語レベルでCFIがあるかどうかは話は別だけど..
• 構造化プログラミング以後のアセンブリ言語だとでも思ってください
UntrustedなコードをWasm VM上/AOTで動かすことができる
(Like: NaCl, eBPF / Unlike: JVM)
参考資料:カーネル空間ですべてのプロセスを動かすには -TAL, SFI, Wasmとか - カーネル/VM探検隊15 (slideshare.net)