yarv-dev:157
From: shudo computer.org
Date: Sun, 29 Aug 2004 15:10:35 +0900
Subject: [yarv-dev:157] Re: inline cache with VM version
ささださん、前田さん、皆様、首藤です。 > >> 本当はVM用定数にしたいんだけど,そうするとずいぶんとポインタを > >> たぐる手間が増えるので(thread -> vm -> counter),グローバル変数 > >> にします.あー,あとで後悔するかなぁ. > > > 良く分かってないですが、VMのメインループの中では局所変数にできないんで > > しょうか。(あれ、メインループはなくって call threading にしたんだっけ?) > > いえ,メインループです.,局所変数にするということは,カウ > ンタのポインタを持っとくってイメージですかね. グローバルなカウンタの他に、 VM メインループの局所変数としてローカルなカウンタも持って、 メソッドから抜ける際にローカルなカウンタの増分をグローバルなカウンタに 反映させるというのではマズいでしょうか。 こうすると、他のスレッドがクラスに何か変更を施した場合、 メソッドから return しない限りはその変更を見ることができない可能性があります。 一方、ゲインはというと、(ローカルな) カウンタは レジスタに載りやすくなる、というくらいでしょうか。 メモリモデルというか consistency model は Ruby としては何も規定してない (?) と思うので、 上記の挙動でも OK な気がしてます。 Kazuyuki Shudo/首藤一幸 私をたばねないで あらせいとうの花のように shudo computer.org http://www.shudo.net/ -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
153 2004-08-28 01:32 [ko1 atdot.net ] inline cache with VM version 154 2004-08-28 06:31 ┗[maeda-yarv atusi.org] 155 2004-08-29 02:57 ┗[ko1 atdot.net ] -> 157 2004-08-29 15:10 ┗[shudo computer.org ] 160 2004-08-29 17:44 ┗[ko1 atdot.net ] 162 2004-08-29 18:22 ┗[shudo computer.org ] 163 2004-08-29 18:27 ┗[ko1 atdot.net ]