エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
WebAssemblyでGCを実装する - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
WebAssemblyでGCを実装する - Qiita
初めに この記事でメモリアロケータを実装したので今回はGCを実装してみます。 様々な事情でアロケータ... 初めに この記事でメモリアロケータを実装したので今回はGCを実装してみます。 様々な事情でアロケータのコードが少し変わっているのでソースはここを見て下さい。 大きな変更点はfreeの返り値でfreeしたブロックのポインタを取得出来るようになった事くらいです(ブロックが消失した時は0が返ります)。 今回もwatでとりあえず動く物を作る事を目標に実装していきます。 方針 参照カウントとmark and sweepを組み合わせたような実装をします。 ローカル変数などからの参照のみを参照カウントで管理し(これはコンパイラがinc_countとdec_countを呼び出すコードを挿入する必要がある)、参照カウントが0でないブロックをルートセットとして扱いmark and sweepします。 ブロックには2種類あり「データブロック」と「参照ブロック」です。 これはmark and sweepで使用し、