GoのWASI Preview2サポート状況
そもそもコアモデルからコンポーネントモデルへ移行が結構大変(ABIが全く新しいものになっている)
その上で下記の対応が必要
GOARCH=wasm32
go:wasmexport
GOARCH=wasmアーキテクチャ
2019年にGOOS=jsと共に初めて導入
ネイティブな64ビット整数型のサポートと、64ビットメモリアドレス空間を導入する既存のWasm提案に基づいて、64ビットアーキテクチャを使用することが選択された。
ブラウザ(Chrome等)は64bitをサポートしており安定化している。
しかしサーバ側は32bitを以前として採用している(?)
→ソースが欲しい
メモリ周り
32bitに対応するかどうかに関して
現状64bit、32bitに対応するにはポインタの扱いを見直す必要がある(型安全性が消える)
インポートされた関数を呼び出す前にGCがオブジェクトを回収するリスクもある
Fastly Compute Go SDKの例
unsafeな変換が必要
go:wasmexport は必要か
_start以外にもexportを行えるか