κeenです。この記事はWebAssembly Advent Calendar 2017 8日目の記事です。WebAssemblyでガーベジコレクションする話。 2017-12-08: ページサイズに関する誤りを訂正しました。その他加筆。 はじめてWebAssemblyを聞いたとき、「ブラウザでアセンブラが動くのか、よし、コンパイラを作ろう」と思ったかと思います。 私もそのうちの一人で去年頃こんなコンパイラを作り始めました。 しかしご覧のように進捗芳しくありません。 進捗が悪い理由の1つにGCがあります。最初はGCをCかRustで書いてemscriptenを通すつもりでしたがemscriptenを通したコードはどうにも扱いづらく、すぐに断念しました。 今でこそRustのwasm32-unknown-unknownのターゲットがありますが当時はemscriptenしか選択肢がありませんでした
![WebAssemblyでGC | κeenのHappy Hacκing Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/18e096d0e7a581cec4ec9108d327b63b2171bd37/height=288;version=1;width=512/https%3A%2F%2Fkeens.github.io%2Fimages%2Fogp%2Fpost%2FWebAssemblynoGC.png)