GC 淡々とデバッグ

-O3 などでコンパイルしたときに GC のテストが通らない理由を調べた。

  • 解放してはいけないものを sweep しているというわけではなかった
  • 最適化による未使用変数の削除
  • global 変数への NULL 代入をなかったことにされる


などなど。
GC 側に問題があるわけでなく、しょんぼり。
いっそ不具合が見つかって、それで芋づる式にうまくいけばよいのに。
まぁ経験者の kzk さん曰く GCデバッグは気合いらしいのでしばらくはひたすらバグつぶしかな。