[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:527

From: SASADA Koichi <ko1 atdot.net>
Date: Fri, 01 Jul 2005 21:46:27 +0900
Subject: [yarv-dev:527] dynamic superinstruction / vm code size

 ささだです。

 すべての実行を dynamic superinstruction でするんだったら、コピー元にな
る命令列のコードサイズは気にする必要ないんでしょうか。

 先日の "Combining Stack Caching with Dynamic Superinstructions" では、
命令数削減の理由を「GCC でコンパイルする時間が長くなっちゃうから」にして
ますね。とくに、I-Cache がどうだとかは書いていない。


 となると、YARV の行く末は

* static superinstructions はやめる
* みんな dynamic superinstructions にする
* operand の融合はガンガンやる
* スタックキャッシュのための命令はそれぞれガンガン作る
(最近のマシンは gcc で1関数数万行くらいなら数十秒でコンパイル出来る)

 くらいがいいんでしょうかねぇ。

 しかし、dynamic superinstructions は無茶苦茶メモリ食いそうだなぁ。同じ
組み合わせをプールしてうまく使いまわすことは出来るのかしらん。組み合わせ
を GC 対象にすることは出来るのかしらん。


----
 本当にそこまで Ruby でやるんか、というのもあるんですが... この辺は完全
に趣味の世界にしておかなくちゃかも。完全にひとつの環境限定でその環境を
使っている人だけうれしい(他の人はスタックキャッシング止まり)ということ
にすれば、とりあえずいいか。

-- 
// SASADA Koichi at atdot dot net
//


--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]