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

yarv-dev:327

From: SASADA Koichi <ko1 atdot.net>
Date: Fri, 19 Nov 2004 15:30:22 +0900
Subject: [yarv-dev:327] Re: method call eval order

 ささだです。

> |ところで、receiverを最後に評価する(スタックマシンで言えば、最後に積むっ
> |てことですよね)ってのはそんなに速くなるもんなんでしょうか。
> 
> それが疑問です。めちゃめちゃ速くなるんだったら妥協できるけど、
> そうでもないなら「なんでそんなこと」と感じちゃいます。困る例
> があるかっていうと実用上はあんまりないけど、言語仕様の説明の
> ときに「実はここは順序が...」とか書くのは気分が悪いです。

 速くなると思っている理由は、スタックキャッシュにしたとき、多分めちゃ
くちゃ速くなると思ってるんですが、まだデータ取ってないのでなんとも。
データを取ってから出直してきます。

> 
> |あと、receiverを最後に積んだ場合、* 引数や省略可能な引数の扱いがめんど
> |くないですか?  receiverを最初に積むなら、呼ばれた側で後ろに積み足して
> |やれば良いだけ、だけど。
> 
> selfは独立したレジスタなんでしたっけ。だから、メソッドサーチ
> した後はレジスタに積んじゃうんでしょうか。

 レジスタにはしてません。もしかしたら、レジスタとして扱っちゃったほう
がいいのかもしれませんが。



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

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

       317 2004-11-17 16:21 [ko1 atdot.net       ] method call eval order                  
       318 2004-11-17 18:29 ┣[nobu.nokada softhome]                                       
       319 2004-11-17 18:33 ┃┗[ko1 atdot.net       ]                                     
       320 2004-11-18 17:04 ┗[matz ruby-lang.org  ]                                       
       325 2004-11-19 13:08  ┗[maeda-yarv atusi.org]                                     
       326 2004-11-19 13:46   ┗[matz ruby-lang.org  ]                                   
->     327 2004-11-19 15:30    ┗[ko1 atdot.net       ]                                 
       328 2004-11-19 23:35     ┗[maeda-yarv atusi.org]                               
       329 2004-11-19 23:56      ┗[matz ruby-lang.org  ]