食わせた結果のアセンブリにコメントを加えたものです。24.section".note.GNU-stack","",@progbitsビックリマークで囲んであるところが重要なところです。新しいStackEntryを生成し、新しいStackEntryへllvm_gc_root_chainのリストをつなぎ替える部分です。この時点で、llvm_gc_root_chainに新しいスタックフレームのStackEntryへのアドレスが代入され、この新しいスタックフレームのStackEntryに古いllvm_gc_root_chainの値がコピーされます。ここを抜けると、スタックの状態はこのようになっています。metadataをもつRootsが、配列の先頭に配置されるようになっているようです。llvm_gc_root_chainのリストを、このスタックフレームに入る前のものにつなぎ直す処理です。FrameMapという構造で、GCのセクションの分だけ生成されるようです。llvm_gc_root_chainは、このStackEntryをつなぐ単方向リストの先頭です。各ルートにアクセスできる。}}というコードで、スタック上のルートを巡ることができるようになりました!やりました!でもマルチスレッド環境だと大変なことになりますねこれは...おわりに色々足りない感はありますが、ここで筆を置くことにします。(8)ArchiveLinksヘルプはてなブログお知らせはてなブログをはじめよう!yutoppさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。