From: Masahiro S. ()
<sa...@to...> - 2006-05-26 10:42:48
|
酒井です。 From: "Masao Mutoh" <mut...@gm...> Date: Thu, 25 May 2006 22:38:03 +0900 > むとうです。 > > > > RubyのGCのmark phaseでrb_gc_mark()するという話です。 > > > > > > > > # ついでに、オブジェクトのプロパティを同様にmarkするのも良さそう。 > > > > # parentもプロパティなので須藤さんの案を包摂しますし。 > > > > > > Gtk::TextViewとGtk::TextBufferはコンテナとその子供、という関係では > > > 無いので、この例では、gtk_container_forallの対応をしてもNGではないでしょうか。 > > > > この場合Gtk::TextBufferはGtk::TextViewのbufferプロパティになっているので、 > > プロパティをmarkするようにすればこの例についてはOKです。 > > なるほど・・・。 > 親玉をmarkする際に、そのときに存在するすべてのプロパティ値を > 拾ってmarkするようにしてしまう、という感じですね。こちらは > コンテナ、GObjectならなんでも実施するという感じですね。 ちょっと考えてたのですが、「子やプロパティ値について、対応するRubyのオ ブジェクトが存在する場合に、それをmarkする」というのは難しくはないです が、それ以上のことをするのはtrivialとは言えなさそうです。 # これだけだと、そこまで嬉しくなさそうだなぁ... > ところで、久しぶりに実装をお願いできませんか? > どうも私が実装するととんちんかんなことをしてしまいそうな気がして・・・。 > その点、さかいさんなら安心です(^^;)。 了解しました。 上で書いたとこまでなら、暇なときにでも実装しておきます。 -- 酒井 政裕 / Masahiro Sakai |