メモ:NODE_WHILEが多かった件

iseqにしたらT_NODEは用済みじゃんと思っていたがそう言うわけでもないようだ.
よく読んでみるとvmの内部でT_NODEのRVALUEが生成されている箇所が何点もあった.
 
この前の記事
特にNODE_WHILEが多くてびっくりしたのだが,この件について笹田さんや中田さんに伺った所,インラインキャッシュで生成しているみたいね,との事.
調べた所,長生きしているNODE_WHILEはその殆どがインラインキャッシュで生成したもののようだ.
さらに調べると,その中でNODE_WHILEに値が設定されたのは2割程度だった.ふむ.
 
この辺のマーク処理は大変そうなのでなんとかしたいなぁと思う.
(あいかわらず rails2.3.0 & ruby 1.9.0-p0 調べ)