yarv-dev:437
From: SASADA Koichi <ko1 atdot.net>
Date: Sat, 5 Mar 2005 20:03:34 +0900
Subject: [yarv-dev:437] Re: [ANN] YARV - Yet Another RubyVM 0.2.0
Minero Aoki <aamine loveruby.net> wrote :
[ [yarv-dev:435] Re: [ANN] YARV - Yet Another RubyVM 0.2.0 ]
at Fri, 04 Mar 2005 20:44:06 +0900
ささだです。
ありがとうございます。
> tunami:~/src/yarv-0.2.0 % gcc --version
> gcc (GCC) 3.4.3
> Copyright (C) 2004 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
うーん、3.4 系は試していないのだけれど、なんか思い通りのア
センブル結果になっていないような・・・。なんでだろ。私も 3.4
系で試してみないと駄目かな。
ちなみに、ia32 系(と x86-64系)では、program counter をレ
ジスタに割り付けています。その辺が結構効いているのではないかと
思います> alpha であんまり速くなってない
他の VM の仮想レジスタ類も、マシンレジスタに割り付けてしまえば
きっともっと速くなると思います。でも、gcc のバグか何か知らないけ
ど、上書きしちゃいけないレジスタに上書きするようなコード吐いてく
れるので、安全側に倒して、現状では PC 一個だけを対象にしています。
(x86-64 で、もうちょっとレジスタに置いてみたんだけどあんまり速
くならんかったという経緯もあるんですが)
alpha って何個レジスタ持ってるんですか?
あと、GC がどうの、という話ですが、現状では(malloc した)
スタックの領域をすべて mark するようにしているので、遅いです。
もちろん、使っていないスタック領域をマークする意味は無いのですが、
その「何処まで使っている」というのを厳密に管理するのがめんどーで、
さぼっています。それも、直さないと。
--
// SASADA Koichi at atdot dot net
//
--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml
432 2005-03-04 16:02 [ko1 atdot.net ] [ANN] YARV - Yet Another RubyVM 0.2.0 433 2005-03-04 18:15 ┗[aamine loveruby.net ] 434 2005-03-04 19:16 ┗[ko1 atdot.net ] 435 2005-03-04 20:44 ┗[aamine loveruby.net ] -> 437 2005-03-05 20:03 ┗[ko1 atdot.net ] 443 2005-03-06 12:52 ┗[aamine loveruby.net ] 446 2005-03-06 17:06 ┣[ko1 atdot.net ] 449 2005-03-06 19:22 ┃┗[ko1 atdot.net ] 450 2005-03-06 19:51 ┗[shiro lava.net ] 451 2005-03-06 20:13 ┗[ko1 atdot.net ] GC on stack (was: Re: [ANN] YARV - Yet Another RubyVM 0.2.0)