まつもと ゆきひろです In message "Re: [ruby-dev:38605] Re: [Feature: trunk] rb_objspace_each_objects" on Sun, 14 Jun 2009 12:30:55 +0900, SASADA Koichi <ko1 / atdot.net> writes: |> なんて名前がいいでしょうかね. | | ちょっと考えたのですが,こんなのはどうでしょうか. | |void rb_objspace_walk_heaps( | enum objspace_walk_retval (*callback)(VALUE start, VALUE end, | size_t stride, void *data), | void *data); このcallbackですが (*callback)(VALUE *values, size_t run, void* data) でよいんでないですかね。「VALUEにstrideを足す」という操作が 不安です。 | こんな感じで 生きているオブジェクトを全部回ることができる,というイン |ターフェースです.なお,free cell は渡されない可能性があります. |walk_heaps だと,free cell 含めて渡らないとまずいかなぁ. free cellは要らないんじゃないですかね。あと、heapというのは Ruby GCの外では違う意味であるというakrさんの指摘もありますね。 objspace_walk_objectsで良いような気もします。