From: Yukihiro Matsumoto Date: 2008-08-25T17:35:24+09:00 Subject: [ruby-dev:35949] Re: [Feature: trunk] relayouting struct RNode まつもと ゆきひろです In message "Re: [ruby-dev:35947] [Feature: trunk] relayouting struct RNode" on Mon, 25 Aug 2008 15:03:10 +0900, "Yugui (Yuki Sonoda)" writes: |「第7回RHGの逆襲」(http://qwik.jp/rhg-strikes-back/78.html )の結果とし |て、RNode::nd_fileは誰も利用していないことが分かりました。 1.9では使っていないんですねえ。 |よって、RNodeのレイアウトにおいてポインタ長だけ空間が余っています。添付 |のパッチでは、とりあえずこの空間をvoid *reservedとして、YARVに残っている |無駄なNULL pointer代入を削除してみました。 使ってないなら削ってもよいのではないでしょうか。 |さて、この空間を何らかの形で有益に活用したいと思います。関係者に聞いてみ |たところでは次のような案が出てきました。 | |1) 行番号に使う | 行番号のMAXが15bit増えます。現状では32bit環境でも2**17あるので現実的に |特に困ることはないと思いますが、もう少し増えても悪くはないかもしれません。 | |2) RNodeを4分木にする | ASTの分岐の数を増やします。笹田さんによれば、これで楽になるケースが少 |しはあるとのことです。 | |どのようにしたら良いか、ご意見をいただければと思います。 4分木にするのはちょっとだけ魅力的ですねえ。