きりかノート 3冊め

おあそびプログラミング

ovmix_imp_for_type()でのリークの指摘について調査

rubycocoa-devel:1402で指摘のあったメモリリークの可能性について調査。再現する方法が思いつかなかったので、まずはコードレベルでの確認。と思ったのだけど、指摘の内容がよくわからない。

メールからは、

  • リークしているのはarg_types(の一部)
  • argcが2のときに発生しうる
  • octypesにarg_typesを埋めるようにすれば直る

と読めるんだけど、そこまでは合ってるのかな?

で、指摘の修正をいれるとoctypes(closureのuserdata)のレイアウトを変えることになるよね。無視している2つはselfとselだと思うのだけど、これを読みとばす処理をまたあちこち直すことになりそう(まだちゃんと確認してないけど、少なくともテストは通らない)のもわずらわしいよな。悩ましい。